diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000000..2312dc587f --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +npx lint-staged diff --git a/CHANGELOG.md b/CHANGELOG.md index a8494d0db9..ded7286cbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Unreleased - Changes from 6.0.0 - Misc: + - ADDED: Add husky pre-commit hook for compiling and linting staged JS files [#7228](https://github.com/Project-OSRM/osrm-backend/issues/7228) + - CHANGED: Standardize linting configuration with ESM-specific rules [#7229](https://github.com/Project-OSRM/osrm-backend/issues/7229) - CHANGED: Convert scripts from CommonJS to modern ESM format [#7230](https://github.com/Project-OSRM/osrm-backend/pull/7230) - CHANGED: Convert remaining scripts from CommonJS to ESM format and use flatbuffers npm package [#7227](https://github.com/Project-OSRM/osrm-backend/pull/7227) - CHANGED: Upgrade Cucumber-js to v12 [#7221](https://github.com/Project-OSRM/osrm-backend/pull/7221) diff --git a/eslint.config.js b/eslint.config.js index 05cb4e454d..aae0bdf802 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -3,20 +3,29 @@ import { Linter } from 'eslint'; /** @type {Linter.Config} */ const config = [ { + files: ["**/*.js"], + languageOptions: { + ecmaVersion: 2024, + sourceType: "module", + globals: { + es6: true, + node: true, + }, + }, rules: { indent: ['error', 2], quotes: ['warn', 'single'], 'linebreak-style': ['error', 'unix'], semi: ['error', 'always'], 'no-console': ['warn'], + 'prefer-const': 'error', + 'no-var': 'error', + 'no-unused-vars': ['error', { argsIgnorePattern: '^_' }], + 'object-shorthand': 'error', + 'prefer-template': 'error', + 'prefer-arrow-callback': 'error', }, - languageOptions: { - globals: { - es6: true, - node: true, - }, - }, - ignores: ['node_modules/', 'build/', 'dist/', 'coverage/'], + ignores: ['node_modules/', 'build/', 'dist/', 'coverage/', 'features/support/fbresult_generated.js'], }, ]; diff --git a/features/lib/hash.js b/features/lib/hash.js index 67e79d4e8c..bbd7dc0115 100644 --- a/features/lib/hash.js +++ b/features/lib/hash.js @@ -5,13 +5,13 @@ import d3 from 'd3-queue'; // Computes MD5 hash of multiple files concatenated together const hashOfFiles = (paths, cb) => { - let queue = d3.queue(); + const queue = d3.queue(); for (let i = 0; i < paths.length; ++i) { queue.defer(fs.readFile, paths[i]); } queue.awaitAll((err, results) => { if (err) return cb(err); - let checksum = crypto.createHash('md5'); + const checksum = crypto.createHash('md5'); for (let i = 0; i < results.length; ++i) { checksum.update(results[i]); } @@ -23,7 +23,7 @@ const hashOfFiles = (paths, cb) => { const hashOfFile = (path, additional_content, cb) => { fs.readFile(path, (err, result) => { if (err) return cb(err); - let checksum = crypto.createHash('md5'); + const checksum = crypto.createHash('md5'); checksum.update(result + (additional_content || '')); cb(null, checksum.digest('hex')); }); diff --git a/features/lib/osm.js b/features/lib/osm.js index 09e39c220f..23cc4834ec 100644 --- a/features/lib/osm.js +++ b/features/lib/osm.js @@ -4,167 +4,158 @@ import { ensureDecimal } from './utils.js'; // OpenStreetMap database for storing nodes, ways, and relations class DB { - constructor () { - this.nodes = new Array(); - this.ways = new Array(); - this.relations = new Array(); - } - - // Adds OSM node to database - addNode (node) { - this.nodes.push(node); - } - - // Adds OSM way to database - addWay (way) { - this.ways.push(way); - } - - addRelation (relation) { - this.relations.push(relation); - } - - clear () { - this.nodes = []; - this.ways = []; - this.relations = []; - } - - // Converts database to OSM XML format for OSRM processing - toXML (callback) { - const xml = builder.create('osm', {'encoding':'UTF-8'}); - xml.att('generator', 'osrm-test') - .att('version', '0.6'); - - this.nodes.forEach((n) => { - const node = xml.ele('node', { - id: n.id, - version: 1, - uid: n.OSM_UID, - user: n.OSM_USER, - timestamp: n.OSM_TIMESTAMP, - lon: ensureDecimal(n.lon), - lat: ensureDecimal(n.lat) - }); - - for (const k in n.tags) { - node.ele('tag') - .att('k', k) - .att('v', n.tags[k]); - } - }); - - this.ways.forEach((w) => { - const way = xml.ele('way', { - id: w.id, - version: 1, - uid: w.OSM_UID, - user: w.OSM_USER, - timestamp: w.OSM_TIMESTAMP - }); - - w.nodes.forEach((k) => { - - let nd = way.ele('nd') - .att('ref', k.id); - if (w.add_locations) { - nd.att('lon', k.lon); - nd.att('lat', k.lat); - } - }); - - for (const k in w.tags) { - way.ele('tag') - .att('k', k) - .att('v', w.tags[k]); - } - }); - - this.relations.forEach((r) => { - const relation = xml.ele('relation', { - id: r.id, - user: r.OSM_USER, - timestamp: r.OSM_TIMESTAMP, - uid: r.OSM_UID - }); - - r.members.forEach((m) => { - const d = { - type: m.type, - ref: m.id - }; - if (m.role) d.role = m.role; - relation.ele('member', d); - }); - - for (const k in r.tags) { - relation.ele('tag') - .att('k', k) - .att('v', r.tags[k]); - } - }); - - callback(xml.end({ pretty: true, indent: ' ' })); - } + constructor() { + this.nodes = new Array(); + this.ways = new Array(); + this.relations = new Array(); + } + + // Adds OSM node to database + addNode(node) { + this.nodes.push(node); + } + + // Adds OSM way to database + addWay(way) { + this.ways.push(way); + } + + addRelation(relation) { + this.relations.push(relation); + } + + clear() { + this.nodes = []; + this.ways = []; + this.relations = []; + } + + // Converts database to OSM XML format for OSRM processing + toXML(callback) { + const xml = builder.create('osm', { encoding: 'UTF-8' }); + xml.att('generator', 'osrm-test').att('version', '0.6'); + + this.nodes.forEach((n) => { + const node = xml.ele('node', { + id: n.id, + version: 1, + uid: n.OSM_UID, + user: n.OSM_USER, + timestamp: n.OSM_TIMESTAMP, + lon: ensureDecimal(n.lon), + lat: ensureDecimal(n.lat), + }); + + for (const k in n.tags) { + node.ele('tag').att('k', k).att('v', n.tags[k]); + } + }); + + this.ways.forEach((w) => { + const way = xml.ele('way', { + id: w.id, + version: 1, + uid: w.OSM_UID, + user: w.OSM_USER, + timestamp: w.OSM_TIMESTAMP, + }); + + w.nodes.forEach((k) => { + const nd = way.ele('nd').att('ref', k.id); + if (w.add_locations) { + nd.att('lon', k.lon); + nd.att('lat', k.lat); + } + }); + + for (const k in w.tags) { + way.ele('tag').att('k', k).att('v', w.tags[k]); + } + }); + + this.relations.forEach((r) => { + const relation = xml.ele('relation', { + id: r.id, + user: r.OSM_USER, + timestamp: r.OSM_TIMESTAMP, + uid: r.OSM_UID, + }); + + r.members.forEach((m) => { + const d = { + type: m.type, + ref: m.id, + }; + if (m.role) d.role = m.role; + relation.ele('member', d); + }); + + for (const k in r.tags) { + relation.ele('tag').att('k', k).att('v', r.tags[k]); + } + }); + + callback(xml.end({ pretty: true, indent: ' ' })); + } } class Node { - constructor (id, OSM_USER, OSM_TIMESTAMP, OSM_UID, lon, lat, tags) { - this.id = id; - this.OSM_USER = OSM_USER; - this.OSM_TIMESTAMP = OSM_TIMESTAMP; - this.OSM_UID = OSM_UID; - this.lon = lon; - this.lat = lat; - this.tags = tags; - } - - addTag (k, v) { - this.tags[k] = v; - } - - setID (id ) { - this.id = id; - } + constructor(id, OSM_USER, OSM_TIMESTAMP, OSM_UID, lon, lat, tags) { + this.id = id; + this.OSM_USER = OSM_USER; + this.OSM_TIMESTAMP = OSM_TIMESTAMP; + this.OSM_UID = OSM_UID; + this.lon = lon; + this.lat = lat; + this.tags = tags; + } + + addTag(k, v) { + this.tags[k] = v; + } + + setID(id) { + this.id = id; + } } class Way { - constructor (id, OSM_USER, OSM_TIMESTAMP, OSM_UID, add_locations) { - this.id = id; - this.OSM_USER = OSM_USER; - this.OSM_TIMESTAMP = OSM_TIMESTAMP; - this.OSM_UID = OSM_UID; - this.tags = {}; - this.nodes = []; - this.add_locations = add_locations; - } - - addNode (node) { - this.nodes.push(node); - } - - setTags (tags) { - this.tags = tags; - } + constructor(id, OSM_USER, OSM_TIMESTAMP, OSM_UID, add_locations) { + this.id = id; + this.OSM_USER = OSM_USER; + this.OSM_TIMESTAMP = OSM_TIMESTAMP; + this.OSM_UID = OSM_UID; + this.tags = {}; + this.nodes = []; + this.add_locations = add_locations; + } + + addNode(node) { + this.nodes.push(node); + } + + setTags(tags) { + this.tags = tags; + } } class Relation { - constructor (id, OSM_USER, OSM_TIMESTAMP, OSM_UID) { - this.id = id; - this.OSM_USER = OSM_USER; - this.OSM_TIMESTAMP = OSM_TIMESTAMP; - this.OSM_UID = OSM_UID; - this.members = []; - this.tags = {}; - } - - addMember (memberType, id, role) { - this.members.push({type: memberType, id: id, role: role}); - } - - addTag (k, v) { - this.tags[k] = v; - } + constructor(id, OSM_USER, OSM_TIMESTAMP, OSM_UID) { + this.id = id; + this.OSM_USER = OSM_USER; + this.OSM_TIMESTAMP = OSM_TIMESTAMP; + this.OSM_UID = OSM_UID; + this.members = []; + this.tags = {}; + } + + addMember(memberType, id, role) { + this.members.push({ type: memberType, id, role }); + } + + addTag(k, v) { + this.tags[k] = v; + } } export { DB, Node, Way, Relation }; diff --git a/features/lib/osrm_loader.js b/features/lib/osrm_loader.js index 0da74a9309..b0c709c621 100644 --- a/features/lib/osrm_loader.js +++ b/features/lib/osrm_loader.js @@ -27,7 +27,7 @@ class OSRMBaseLoader { limit((e) => { if (e) callback(e); else callback(); - }) + }), ); } @@ -48,7 +48,7 @@ class OSRMBaseLoader { osrmDown(callback) { if (this.osrmIsRunning()) { - this.child.on('exit', (code, signal) => { + this.child.on('exit', (_code, _signal) => { callback(); }); this.child.kill('SIGINT'); @@ -70,8 +70,8 @@ class OSRMBaseLoader { } else { callback( new Error( - `Could not connect to osrm-routed after ${this.scope.OSRM_CONNECTION_RETRIES} retries.` - ) + `Could not connect to osrm-routed after ${this.scope.OSRM_CONNECTION_RETRIES} retries.`, + ), ); } } else { @@ -107,7 +107,7 @@ class OSRMDirectLoader extends OSRMBaseLoader { this.scope.OSRM_PORT, this.scope.OSRM_IP, this.scope.ROUTING_ALGORITHM, - this.loaderArgs + this.loaderArgs, ); this.child = this.scope.runBin( 'osrm-routed', @@ -117,10 +117,10 @@ class OSRMDirectLoader extends OSRMBaseLoader { if (err && err.signal !== 'SIGINT') { this.child = null; throw new Error( - util.format('osrm-routed %s: %s', errorReason(err), err.cmd) + util.format('osrm-routed %s: %s', errorReason(err), err.cmd), ); } - } + }, ); this.child.readyFunc = (data) => { @@ -157,7 +157,7 @@ class OSRMmmapLoader extends OSRMBaseLoader { this.scope.OSRM_PORT, this.scope.OSRM_IP, this.scope.ROUTING_ALGORITHM, - this.loaderArgs + this.loaderArgs, ); this.child = this.scope.runBin( 'osrm-routed', @@ -167,10 +167,10 @@ class OSRMmmapLoader extends OSRMBaseLoader { if (err && err.signal !== 'SIGINT') { this.child = null; throw new Error( - util.format('osrm-routed %s: %s', errorReason(err), err.cmd) + util.format('osrm-routed %s: %s', errorReason(err), err.cmd), ); } - } + }, ); this.child.readyFunc = (data) => { @@ -199,7 +199,7 @@ class OSRMDatastoreLoader extends OSRMBaseLoader { else { this.scope.setupOutputLog( this.child, - fs.createWriteStream(this.scope.scenarioLogFile, { flags: 'a' }) + fs.createWriteStream(this.scope.scenarioLogFile, { flags: 'a' }), ); callback(); } @@ -211,7 +211,7 @@ class OSRMDatastoreLoader extends OSRMBaseLoader { '--dataset-name=%s %s %s', this.scope.DATASET_NAME, this.inputFile, - this.loaderArgs + this.loaderArgs, ); this.scope.runBin( 'osrm-datastore', @@ -220,10 +220,10 @@ class OSRMDatastoreLoader extends OSRMBaseLoader { (err) => { if (err) return callback( - new Error('*** osrm-datastore exited with ' + err.code + ': ' + err) + new Error(`*** osrm-datastore exited with ${err.code}: ${err}`), ); callback(); - } + }, ); } @@ -235,7 +235,7 @@ class OSRMDatastoreLoader extends OSRMBaseLoader { this.scope.DATASET_NAME, this.scope.OSRM_IP, this.scope.OSRM_PORT, - this.scope.ROUTING_ALGORITHM + this.scope.ROUTING_ALGORITHM, ); this.child = this.scope.runBin( 'osrm-routed', @@ -245,10 +245,10 @@ class OSRMDatastoreLoader extends OSRMBaseLoader { if (err && err.signal !== 'SIGINT') { this.child = null; throw new Error( - util.format('osrm-routed %s: %s', errorReason(err), err.cmd) + util.format('osrm-routed %s: %s', errorReason(err), err.cmd), ); } - } + }, ); // we call the callback here, becuase we don't want to wait for the child process to finish @@ -288,7 +288,7 @@ class OSRMLoader { this.mmapLoader.load(inputFile, callback); }); } else { - callback(new Error('*** Unknown load method ' + method)); + callback(new Error(`*** Unknown load method ${method}`)); } } diff --git a/features/lib/table_diff.js b/features/lib/table_diff.js index 6b74b9b9cf..2552321a48 100644 --- a/features/lib/table_diff.js +++ b/features/lib/table_diff.js @@ -1,7 +1,4 @@ // Table comparison utility for displaying colorized differences between expected and actual test results -import util from 'util'; -import path from 'path'; -import fs from 'fs'; import chalk from 'chalk'; const unescapeStr = (str) => str.replace(/\\\|/g, '|').replace(/\\\\/g, '\\'); @@ -15,18 +12,17 @@ String.prototype.padRight = function (char, length) { }; export default function (expected, actual) { - let headers = expected.raw()[0]; - let expectedRows = expected.hashes(); + const headers = expected.raw()[0]; + const expectedRows = expected.hashes(); let tableError = false; - let statusRows = []; - let columnStatus = {}; + const statusRows = []; + const columnStatus = {}; expectedRows.forEach((expectedRow, i) => { - let rowError = false; statusRows[i] = {}; - let statusRow = statusRows[i]; - for (let key in expectedRow) { - let actualRow = actual[i]; + const statusRow = statusRows[i]; + for (const key in expectedRow) { + const actualRow = actual[i]; if (unescapeStr(expectedRow[key]) != actualRow[key]) { statusRow[key] = false; tableError = true; @@ -38,7 +34,7 @@ export default function (expected, actual) { if (!tableError) return null; // determine column widths - let widths = {}; + const widths = {}; const wantStr = '(-) '; const gotStr = '(+) '; const okStr = ' '; @@ -47,17 +43,17 @@ export default function (expected, actual) { widths[key] = key.length; }); - expectedRows.forEach((row, i) => { + expectedRows.forEach((row, _i) => { headers.forEach((key) => { - let content = row[key]; - let length = content.length; + const content = row[key]; + const length = content.length; if (widths[key] == null || length > widths[key]) widths[key] = length; }); }); // format - let lines = [chalk.red('Tables were not identical:')]; - let cells; + const lines = [chalk.red('Tables were not identical:')]; + let cells = []; // header row cells = []; @@ -66,12 +62,12 @@ export default function (expected, actual) { if (columnStatus[key] == false) content = okStr + content; cells.push(chalk.white(content)); }); - lines.push('| ' + cells.join(' | ') + ' |'); + lines.push(`| ${cells.join(' | ')} |`); // content rows expectedRows.forEach((row, i) => { let cells; - let rowError = Object.keys(statusRows[i]).length > 0; + const rowError = Object.keys(statusRows[i]).length > 0; // expected row cells = []; @@ -89,13 +85,13 @@ export default function (expected, actual) { } } }); - lines.push('| ' + cells.join(' | ') + ' |'); + lines.push(`| ${cells.join(' | ')} |`); // if error in row, insert extra row showing actual result if (rowError) { cells = []; headers.forEach((key) => { - let content = String(actual[i][key]).padRight(' ', widths[key]); + const content = String(actual[i][key]).padRight(' ', widths[key]); if (statusRows[i][key] == false) cells.push(chalk.red(gotStr + content)); else { @@ -105,7 +101,7 @@ export default function (expected, actual) { } }); - lines.push('| ' + cells.join(' | ') + ' |'); + lines.push(`| ${cells.join(' | ')} |`); } }); return lines.join('\n'); diff --git a/features/lib/try_connect.js b/features/lib/try_connect.js index c949019ed3..7c57b31b13 100644 --- a/features/lib/try_connect.js +++ b/features/lib/try_connect.js @@ -3,10 +3,12 @@ import net from 'net'; // Attempts TCP connection to test if server is accepting connections export default function tryConnect(host, port, callback) { - net.connect({ port: port, host: host }) - .on('connect', () => { callback(); }) + net + .connect({ port, host }) + .on('connect', () => { + callback(); + }) .on('error', () => { - callback(new Error('Could not connect.')); + callback(new Error('Could not connect.')); }); } - diff --git a/features/lib/utils.js b/features/lib/utils.js index 2b37c4f8ed..028557c680 100644 --- a/features/lib/utils.js +++ b/features/lib/utils.js @@ -1,46 +1,45 @@ // General utility functions for timeouts, decimal formatting, and file operations -import util from 'util'; import { mkdir } from 'fs/promises'; // Creates timeout wrapper that calls callback with error if operation exceeds time limit function Timeout(ms, options) { - return function (cb) { - let called = false; - const timer = setTimeout(() => { - if (!called) { - called = true; - cb(options.err || new Error(`Operation timed out after ${ms}ms`)); - } - }, ms); + return function (cb) { + let called = false; + const timer = setTimeout(() => { + if (!called) { + called = true; + cb(options.err || new Error(`Operation timed out after ${ms}ms`)); + } + }, ms); - return function (...args) { - if (!called) { - called = true; - clearTimeout(timer); - cb(...args); - } - }; + return function (...args) { + if (!called) { + called = true; + clearTimeout(timer); + cb(...args); + } }; + }; } // Creates directory recursively, callback-style wrapper for mkdir function createDir(dir, callback) { - mkdir(dir, { recursive: true }) - .then(() => callback(null)) - .catch(err => callback(err)); + mkdir(dir, { recursive: true }) + .then(() => callback(null)) + .catch((err) => callback(err)); } // Ensures numeric values have decimal point for OSM XML compatibility const ensureDecimal = (i) => { - if (parseInt(i) === i) return i.toFixed(1); - else return i; + if (parseInt(i) === i) return i.toFixed(1); + else return i; }; // Formats error information from child process exits const errorReason = (err) => { - return err.signal ? - 'killed by signal ' + err.signal : - 'exited with code ' + err.code; + return err.signal + ? `killed by signal ${err.signal}` + : `exited with code ${err.code}`; }; export { createDir, ensureDecimal, errorReason, Timeout }; diff --git a/features/step_definitions/data.js b/features/step_definitions/data.js index afdc097cdd..140393240b 100644 --- a/features/step_definitions/data.js +++ b/features/step_definitions/data.js @@ -8,7 +8,7 @@ import { Given } from '@cucumber/cucumber'; Given(/^the profile "([^"]*)"$/, function (profile, callback) { this.profile = this.OSRM_PROFILE || profile; - this.profileFile = path.join(this.PROFILES_PATH, this.profile + '.lua'); + this.profileFile = path.join(this.PROFILES_PATH, `${this.profile}.lua`); callback(); }); @@ -47,13 +47,13 @@ Given( function (lon, lat, callback) { this.setOrigin([parseFloat(lon), parseFloat(lat)]); callback(); - } + }, ); Given(/^the shortcuts$/, function (table, callback) { - let q = d3.queue(); + const q = d3.queue(); - let addShortcut = (row, cb) => { + const addShortcut = (row, cb) => { this.shortcutsHash[row.key] = row.value; cb(); }; @@ -94,15 +94,15 @@ Given(/^the node map$/, function (docstring, callback) { }); Given(/^the node locations$/, function (table, callback) { - let q = d3.queue(); + const q = d3.queue(); - let addNodeLocations = (row, cb) => { - let name = row.node; + const addNodeLocations = (row, cb) => { + const name = row.node; if (this.findNodeByName(name)) throw new Error(util.format('*** duplicate node %s', name)); if (name.match(/[a-z]/)) { - let id = row.id && parseInt(row.id); + const id = row.id && parseInt(row.id); this.addOSMNode(name, row.lon, row.lat, id); } else { this.addLocation(name, row.lon, row.lat); @@ -117,14 +117,14 @@ Given(/^the node locations$/, function (table, callback) { }); Given(/^the nodes$/, function (table, callback) { - let q = d3.queue(); + const q = d3.queue(); - let addNode = (row, cb) => { - let name = row.node, + const addNode = (row, cb) => { + const name = row.node, node = this.findNodeByName(name); delete row.node; if (!node) throw new Error(util.format('*** unknown node %s', name)); - for (let key in row) { + for (const key in row) { if (key == 'id') { node.setID(row[key]); } else { @@ -144,40 +144,40 @@ Given( function (add_locations, table, callback) { if (this.osm_str) throw new Error( - '*** Map data already defined - did you pass an input file in this scenario?' + '*** Map data already defined - did you pass an input file in this scenario?', ); - let q = d3.queue(); + const q = d3.queue(); - let addWay = (row, cb) => { - let way = new OSM.Way( + const addWay = (row, cb) => { + const way = new OSM.Way( this.makeOSMId(), this.OSM_USER, this.OSM_TIMESTAMP, this.OSM_UID, - !!add_locations + !!add_locations, ); - let nodes = row.nodes; + const nodes = row.nodes; if (this.nameWayHash.nodes) throw new Error(util.format('*** duplicate way %s', nodes)); for (let i = 0; i < nodes.length; i++) { - let c = nodes[i]; + const c = nodes[i]; if (!c.match(/[a-z]/)) throw new Error( - util.format('*** ways can only use names a-z (%s)', c) + util.format('*** ways can only use names a-z (%s)', c), ); - let node = this.findNodeByName(c); + const node = this.findNodeByName(c); if (!node) throw new Error(util.format('*** unknown node %s', c)); way.addNode(node); } - let tags = { + const tags = { highway: 'primary', }; - for (let key in row) { + for (const key in row) { tags[key] = row[key]; } @@ -204,27 +204,27 @@ Given( table.hashes().forEach((row) => q.defer(addWay, row)); q.awaitAll(callback); - } + }, ); Given(/^the relations$/, function (table, callback) { if (this.osm_str) throw new Error( - '*** Map data already defined - did you pass an input file in this scenario?' + '*** Map data already defined - did you pass an input file in this scenario?', ); - let q = d3.queue(); + const q = d3.queue(); - let addRelation = (headers, row, cb) => { - let relation = new OSM.Relation( + const addRelation = (headers, row, cb) => { + const relation = new OSM.Relation( this.makeOSMId(), this.OSM_USER, this.OSM_TIMESTAMP, - this.OSM_UID + this.OSM_UID, ); let name = null; - for (let index in row) { + for (const index in row) { const key = headers[index]; const value = row[index]; // Parse relation member column headers: @@ -232,56 +232,56 @@ Given(/^the relations$/, function (table, callback) { // - "way" or "way:role" for way members // - "relation" or "relation:role" for relation members // - "tag:value" for regular OSM tags - let isNode = key.match(/^node:?(.*)/), + const isNode = key.match(/^node:?(.*)/), isWay = key.match(/^way:?(.*)/), isRelation = key.match(/^relation:?(.*)/), isColonSeparated = key.match(/^(.*):(.*)/); if (isNode) { value .split(',') - .map(function (v) { + .map((v) => { return v.trim(); }) .forEach((nodeName) => { if (nodeName.length !== 1) throw new Error( - util.format('*** invalid relation node member "%s"', nodeName) + util.format('*** invalid relation node member "%s"', nodeName), ); - let node = this.findNodeByName(nodeName); + const node = this.findNodeByName(nodeName); if (!node) throw new Error( - util.format('*** unknown relation node member "%s"', nodeName) + util.format('*** unknown relation node member "%s"', nodeName), ); relation.addMember('node', node.id, isNode[1]); }); } else if (isWay) { value .split(',') - .map(function (v) { + .map((v) => { return v.trim(); }) .forEach((wayName) => { - let way = this.findWayByName(wayName); + const way = this.findWayByName(wayName); if (!way) throw new Error( - util.format('*** unknown relation way member "%s"', wayName) + util.format('*** unknown relation way member "%s"', wayName), ); relation.addMember('way', way.id, isWay[1]); }); } else if (isRelation) { value .split(',') - .map(function (v) { + .map((v) => { return v.trim(); }) .forEach((relName) => { - let otherrelation = this.findRelationByName(relName); + const otherrelation = this.findRelationByName(relName); if (!otherrelation) throw new Error( util.format( '*** unknown relation relation member "%s"', - relName - ) + relName, + ), ); relation.addMember('relation', otherrelation.id, isRelation[1]); }); @@ -290,8 +290,8 @@ Given(/^the relations$/, function (table, callback) { util.format( '*** unknown relation member type "%s:%s", must be either "node" or "way"', isColonSeparated[1], - isColonSeparated[2] - ) + isColonSeparated[2], + ), ); } else { relation.addTag(key, value); @@ -315,7 +315,7 @@ Given(/^the relations$/, function (table, callback) { q.awaitAll(callback); }); -Given(/^the input file ([^"]*)$/, function (file, callback) { +Given(/^the input file ([^"]*)$/, (file, callback) => { if (path.extname(file) !== '.osm') throw new Error('*** Input file must be in .osm format'); fs.readFile(file, 'utf8', function (err, data) { @@ -330,7 +330,7 @@ Given(/^the raster source$/, function (data, callback) { // we need this to pass it to the profiles this.environment = Object.assign( { OSRM_RASTER_SOURCE: this.rasterCacheFile }, - this.environment + this.environment, ); }); @@ -348,16 +348,15 @@ Given( /^the profile file(?: "([^"]*)" initialized with)?$/, function (profile, data, callback) { const lua_profiles_path = this.PROFILES_PATH.split(path.sep).join('/'); - let text = - 'package.path = "' + lua_profiles_path + '/?.lua;" .. package.path\n'; + let text = `package.path = "${lua_profiles_path}/?.lua;" .. package.path\n`; if (profile == null) { - text += data + '\n'; + text += `${data}\n`; } else { - text += 'local functions = require("' + profile + '")\n'; + text += `local functions = require("${profile}")\n`; text += 'functions.setup_parent = functions.setup\n'; text += 'functions.setup = function()\n'; text += 'local profile = functions.setup_parent()\n'; - text += data + '\n'; + text += `${data}\n`; text += 'return profile\n'; text += 'end\n'; text += 'return functions\n'; @@ -365,7 +364,7 @@ Given( this.profileFile = this.profileCacheFile; // TODO: Don't overwrite if it exists fs.writeFile(this.profileCacheFile, text, callback); - } + }, ); Given(/^the data has been saved to disk$/, function (callback) { @@ -376,7 +375,7 @@ Given( /^the data has been (extract|contract|partition|customiz)ed$/, function (step, callback) { this.reprocess(callback); - } + }, ); Given(/^osrm-routed is stopped$/, function (callback) { diff --git a/features/step_definitions/matching.js b/features/step_definitions/matching.js index d1bb040e32..c6a954c724 100644 --- a/features/step_definitions/matching.js +++ b/features/step_definitions/matching.js @@ -41,7 +41,6 @@ When(/^I match I should get$/, function (table, callback) { duration = '', annotation = '', geometry = '', - OSMIDs = '', alternatives = ''; if (res.statusCode === 200) { @@ -61,7 +60,7 @@ When(/^I match I should get$/, function (table, callback) { for (let i = start_index; i < json.tracepoints.length; i++) { if (json.tracepoints[i] === null) continue; - let current_index = json.tracepoints[i].matchings_index; + const current_index = json.tracepoints[i].matchings_index; if (prev_index !== current_index) { if (sub.length > 0) subMatchings.push(sub); @@ -77,7 +76,7 @@ When(/^I match I should get$/, function (table, callback) { if (headers.has('turns')) { if (json.matchings.length != 1) throw new Error( - '*** Checking turns only supported for matchings with one subtrace' + '*** Checking turns only supported for matchings with one subtrace', ); turns = this.turnList(json.matchings[0]); } @@ -85,7 +84,7 @@ When(/^I match I should get$/, function (table, callback) { if (headers.has('route')) { if (json.matchings.length != 1) throw new Error( - '*** Checking route only supported for matchings with one subtrace' + '*** Checking route only supported for matchings with one subtrace', ); route = this.wayList(json.matchings[0]); } @@ -93,7 +92,7 @@ When(/^I match I should get$/, function (table, callback) { if (headers.has('duration')) { if (json.matchings.length != 1) throw new Error( - '*** Checking duration only supported for matchings with one subtrace' + '*** Checking duration only supported for matchings with one subtrace', ); duration = json.matchings[0].duration; } @@ -106,7 +105,7 @@ When(/^I match I should get$/, function (table, callback) { if (found) { if (json.matchings.length != 1) throw new Error( - '*** Checking annotation only supported for matchings with one subtrace' + '*** Checking annotation only supported for matchings with one subtrace', ); annotation = this.annotationList(json.matchings[0]); } @@ -114,7 +113,7 @@ When(/^I match I should get$/, function (table, callback) { if (headers.has('geometry')) { if (json.matchings.length != 1) throw new Error( - '*** Checking geometry only supported for matchings with one subtrace' + '*** Checking geometry only supported for matchings with one subtrace', ); geometry = json.matchings[0].geometry; } @@ -143,7 +142,7 @@ When(/^I match I should get$/, function (table, callback) { // if header matches 'a:*', parse out the values for * // and return in that header headers.forEach((k) => { - let whitelist = [ + const whitelist = [ 'duration', 'distance', 'datasources', @@ -151,12 +150,14 @@ When(/^I match I should get$/, function (table, callback) { 'weight', ]; if (k.match(/^a:/)) { - let a_type = k.slice(2); + const a_type = k.slice(2); if (whitelist.indexOf(a_type) == -1) - return cb(new Error('*** Unrecognized annotation field: ' + a_type)); + return cb( + new Error(`*** Unrecognized annotation field: ${a_type}`), + ); if (!annotation[a_type]) return cb( - new Error('*** Annotation not found in response: ' + a_type) + new Error(`*** Annotation not found in response: ${a_type}`), ); got[k] = annotation[a_type]; } @@ -181,8 +182,7 @@ When(/^I match I should get$/, function (table, callback) { } let ok = true; let encodedResult = '', - extendedTarget = '', - resultWaypoints = []; + extendedTarget = ''; const testSubMatching = function (sub, si) { const testSubNode = function (ni) { @@ -197,7 +197,7 @@ When(/^I match I should get$/, function (table, callback) { encodedResult += util.format( '? [%s,%s]', outNode[0], - outNode[1] + outNode[1], ); } else { encodedResult += '?'; @@ -215,7 +215,9 @@ When(/^I match I should get$/, function (table, callback) { if (headers.has('matchings')) { if (subMatchings.length != row.matchings.split(',').length) { return cb( - new Error('*** table matchings and api response are not the same') + new Error( + '*** table matchings and api response are not the same', + ), ); } @@ -225,7 +227,8 @@ When(/^I match I should get$/, function (table, callback) { } if (headers.has('waypoints')) { - let got_loc = []; + const got_loc = []; + const resultWaypoints = []; for (let i = 0; i < json.tracepoints.length; i++) { if (!json.tracepoints[i]) continue; if (json.tracepoints[i].waypoint_index != null) @@ -235,15 +238,15 @@ When(/^I match I should get$/, function (table, callback) { if (row.waypoints.length != got_loc.length) return cb( new Error( - `Expected ${row.waypoints.length} waypoints, got ${got_loc.length}` - ) + `Expected ${row.waypoints.length} waypoints, got ${got_loc.length}`, + ), ); for (let i = 0; i < row.waypoints.length; i++) { const want_node = this.findNodeByName(row.waypoints[i]); if (!this.FuzzyMatch.matchLocation(got_loc[i], want_node)) { resultWaypoints.push( - util.format('? [%s,%s]', got_loc[i][0], got_loc[i][1]) + util.format('? [%s,%s]', got_loc[i][0], got_loc[i][1]), ); ok = false; } else { diff --git a/features/step_definitions/options.js b/features/step_definitions/options.js index 6aad5657dc..d909e575fd 100644 --- a/features/step_definitions/options.js +++ b/features/step_definitions/options.js @@ -4,22 +4,19 @@ import assert from 'assert'; import fs from 'fs'; import { When, Then, Given } from '@cucumber/cucumber'; -When( - /^I run "osrm-routed\s?(.*?)"$/, - function (options, callback) { - this.runAndSafeOutput('osrm-routed', options, callback); - } -); +When(/^I run "osrm-routed\s?(.*?)"$/, function (options, callback) { + this.runAndSafeOutput('osrm-routed', options, callback); +}); When( /^I run "osrm-(extract|contract|partition|customize)\s?(.*?)"$/, function (binary, options, callback) { - const stamp = this.processedCacheFile + '.stamp_' + binary; - this.runAndSafeOutput('osrm-' + binary, options, (err) => { + const stamp = `${this.processedCacheFile}.stamp_${binary}`; + this.runAndSafeOutput(`osrm-${binary}`, options, (err) => { if (err) return callback(err); fs.writeFile(stamp, 'ok', callback); }); - } + }, ); When( @@ -28,15 +25,15 @@ When( this.runAndSafeOutput(binary, options, () => { callback(); }); - } + }, ); When( /^I run "osrm-datastore\s?(.*?)"(?: with input "([^"]*)")?$/, function (options, input, callback) { - let child = this.runAndSafeOutput('osrm-datastore', options, callback); + const child = this.runAndSafeOutput('osrm-datastore', options, callback); if (input != null) child.stdin.write(input); // Check for both null and undefined - } + }, ); Then(/^it should exit successfully$/, function () { @@ -51,28 +48,20 @@ Then(/^it should exit with an error$/, function () { Then(/^stdout should( not)? contain "(.*?)"$/, function (not, str) { const contains = this.stdout.indexOf(str) > -1; const isNegative = not != null; // Check for both null and undefined - + assert.ok( isNegative ? !contains : contains, - 'stdout ' + - (isNegative ? 'contains' : 'does not contain') + - ' "' + - str + - '"' + `stdout ${isNegative ? 'contains' : 'does not contain'} "${str}"`, ); }); Then(/^stderr should( not)? contain "(.*?)"$/, function (not, str) { const contains = this.stderr.indexOf(str) > -1; const isNegative = not != null; // Check for both null and undefined - + assert.ok( isNegative ? !contains : contains, - 'stderr ' + - (isNegative ? 'contains' : 'does not contain') + - ' "' + - str + - '"' + `stderr ${isNegative ? 'contains' : 'does not contain'} "${str}"`, ); }); diff --git a/features/step_definitions/routability.js b/features/step_definitions/routability.js index 6a71e7ff56..4be0b37485 100644 --- a/features/step_definitions/routability.js +++ b/features/step_definitions/routability.js @@ -6,12 +6,21 @@ import { Then } from '@cucumber/cucumber'; Then(/^routability should be$/, function (table, callback) { this.buildWaysFromTable(table, () => { - const directions = ['forw','backw','bothw'], - testedHeaders = ['forw','backw','bothw','forw_rate','backw_rate','bothw_rate'], + const directions = ['forw', 'backw', 'bothw'], + testedHeaders = [ + 'forw', + 'backw', + 'bothw', + 'forw_rate', + 'backw_rate', + 'bothw_rate', + ], headers = new Set(Object.keys(table.hashes()[0])); - if (!testedHeaders.some(k => !!headers.has(k))) { - throw new Error('*** routability table must contain either "forw", "backw", "bothw", "forw_rate" or "backw_mode" column'); + if (!testedHeaders.some((k) => !!headers.has(k))) { + throw new Error( + '*** routability table must contain either "forw", "backw", "bothw", "forw_rate" or "backw_mode" column', + ); } this.reprocessAndLoadData((e) => { @@ -20,85 +29,100 @@ Then(/^routability should be$/, function (table, callback) { const outputRow = Object.assign({}, row); // clear the fields that are tested for in the copied response object for (const field in outputRow) { - if (testedHeaders.indexOf(field) != -1) - outputRow[field] = ''; + if (testedHeaders.indexOf(field) != -1) outputRow[field] = ''; } testRoutabilityRow.call(this, i, (err, result) => { if (err) return cb(err); - directions.filter(d => headers.has(d + '_rate')).forEach((direction) => { - const rate = direction + '_rate'; - const want = row[rate]; - - switch (true) { - case '' === want: - outputRow[rate] = result[direction].status ? - result[direction].status.toString() : ''; - break; - case /^\d+(\.\d+){0,1}$/.test(want): - if (result[direction].rate !== undefined && !isNaN(result[direction].rate)) { - outputRow[rate] = result[direction].rate.toString(); - } else { - outputRow[rate] = ''; + directions + .filter((d) => headers.has(`${d}_rate`)) + .forEach((direction) => { + const rate = `${direction}_rate`; + const want = row[rate]; + + switch (true) { + case '' === want: + outputRow[rate] = result[direction].status + ? result[direction].status.toString() + : ''; + break; + case /^\d+(\.\d+){0,1}$/.test(want): + if ( + result[direction].rate !== undefined && + !isNaN(result[direction].rate) + ) { + outputRow[rate] = result[direction].rate.toString(); + } else { + outputRow[rate] = ''; + } + break; + default: + throw new Error( + util.format( + '*** Unknown expectation format: %s for header %s', + want, + rate, + ), + ); } - break; - default: - throw new Error(util.format('*** Unknown expectation format: %s for header %s', want, rate)); - } - }); + }); - directions.filter(d => headers.has(d)).forEach((direction) => { - let usingShortcut = false, - want = row[direction]; + directions + .filter((d) => headers.has(d)) + .forEach((direction) => { + let usingShortcut = false, + want = row[direction]; // shortcuts are when a test has mapped a value like `foot` to // a value like `5 km/h`, to represent the speed that one // can travel by foot. we check for these and use the mapped to // value for later comparison. - if (this.shortcutsHash[row[direction]]) { - want = this.shortcutsHash[row[direction]]; - usingShortcut = row[direction]; - } - - // TODO split out accessible/not accessible value from forw/backw headers - // rename forw/backw to forw/backw_speed - switch (true) { - case '' === want: - outputRow[direction] = result[direction].status ? - result[direction].mode : ''; - break; - case 'x' === want: - outputRow[direction] = result[direction].status ? - 'x' : ''; - break; - case /^[\d.]+ s/.test(want): - // the result here can come back as a non-number value like - // `diff`, but we only want to apply the unit when it comes - // back as a number, for tableDiff's literal comparison - if (result[direction].time) { - outputRow[direction] = !isNaN(result[direction].time) ? - result[direction].time.toString()+' s' : - result[direction].time.toString() || ''; - } else { - outputRow[direction] = ''; + if (this.shortcutsHash[row[direction]]) { + want = this.shortcutsHash[row[direction]]; + usingShortcut = row[direction]; } - break; - case /^\d+ km\/h/.test(want): - if (result[direction].speed) { - outputRow[direction] = !isNaN(result[direction].speed) ? - result[direction].speed.toString()+' km/h' : - result[direction].speed.toString() || ''; - } else { - outputRow[direction] = ''; + + // TODO split out accessible/not accessible value from forw/backw headers + // rename forw/backw to forw/backw_speed + switch (true) { + case '' === want: + outputRow[direction] = result[direction].status + ? result[direction].mode + : ''; + break; + case 'x' === want: + outputRow[direction] = result[direction].status ? 'x' : ''; + break; + case /^[\d.]+ s/.test(want): + // the result here can come back as a non-number value like + // `diff`, but we only want to apply the unit when it comes + // back as a number, for tableDiff's literal comparison + if (result[direction].time) { + outputRow[direction] = !isNaN(result[direction].time) + ? `${result[direction].time.toString()} s` + : result[direction].time.toString() || ''; + } else { + outputRow[direction] = ''; + } + break; + case /^\d+ km\/h/.test(want): + if (result[direction].speed) { + outputRow[direction] = !isNaN(result[direction].speed) + ? `${result[direction].speed.toString()} km/h` + : result[direction].speed.toString() || ''; + } else { + outputRow[direction] = ''; + } + break; + default: + outputRow[direction] = result[direction].mode || ''; } - break; - default: - outputRow[direction] = result[direction].mode || ''; - } - if (this.FuzzyMatch.match(outputRow[direction], want)) { - outputRow[direction] = usingShortcut ? usingShortcut : row[direction]; - } - }); + if (this.FuzzyMatch.match(outputRow[direction], want)) { + outputRow[direction] = usingShortcut + ? usingShortcut + : row[direction]; + } + }); cb(null, outputRow); }); @@ -113,11 +137,11 @@ Then(/^routability should be$/, function (table, callback) { // 'time', 'distance', 'speed' and 'mode', for forwards and backwards routing, as well as // a bothw object that diffs forwards/backwards const testRoutabilityRow = function (i, cb) { - let result = {}; + const result = {}; const testDirection = function (dir, callback) { - const coordA = this.offsetOriginBy(1+this.WAY_SPACING*i, 0); - const coordB = this.offsetOriginBy(3+this.WAY_SPACING*i, 0); + const coordA = this.offsetOriginBy(1 + this.WAY_SPACING * i, 0); + const coordB = this.offsetOriginBy(3 + this.WAY_SPACING * i, 0); const a = new classes.Location(coordA[0], coordA[1]), b = new classes.Location(coordB[0], coordB[1]), @@ -125,36 +149,43 @@ const testRoutabilityRow = function (i, cb) { r.which = dir; - this.requestRoute((dir === 'forw' ? [a, b] : [b, a]), [], [], this.queryParams, (err, res, body) => { - if (err) return callback(err); - - r.query = this.query; - r.json = JSON.parse(body); - r.code = r.json.code; - r.status = res.statusCode === 200 ? 'x' : null; - if (r.status) { - r.route = this.wayList(r.json.routes[0]); - r.summary = r.json.routes[0].legs.map(l => l.summary).join(','); - - if (r.route.split(',')[0] === util.format('w%d', i)) { - r.time = r.json.routes[0].duration; - r.distance = r.json.routes[0].distance; - r.rate = Math.round(r.distance / r.json.routes[0].weight * 10) / 10.; - r.speed = r.time > 0 ? parseInt(3.6 * r.distance / r.time) : null; - - // use the mode of the first step of the route - // for routability table test, we can assume the mode is the same throughout the route, - // since the route is just a single way - if( r.json.routes[0].legs[0] && r.json.routes[0].legs[0].steps[0] ) { - r.mode = r.json.routes[0].legs[0].steps[0].mode; + this.requestRoute( + dir === 'forw' ? [a, b] : [b, a], + [], + [], + this.queryParams, + (err, res, body) => { + if (err) return callback(err); + + r.query = this.query; + r.json = JSON.parse(body); + r.code = r.json.code; + r.status = res.statusCode === 200 ? 'x' : null; + if (r.status) { + r.route = this.wayList(r.json.routes[0]); + r.summary = r.json.routes[0].legs.map((l) => l.summary).join(','); + + if (r.route.split(',')[0] === util.format('w%d', i)) { + r.time = r.json.routes[0].duration; + r.distance = r.json.routes[0].distance; + r.rate = + Math.round((r.distance / r.json.routes[0].weight) * 10) / 10; + r.speed = r.time > 0 ? parseInt((3.6 * r.distance) / r.time) : null; + + // use the mode of the first step of the route + // for routability table test, we can assume the mode is the same throughout the route, + // since the route is just a single way + if (r.json.routes[0].legs[0] && r.json.routes[0].legs[0].steps[0]) { + r.mode = r.json.routes[0].legs[0].steps[0].mode; + } + } else { + r.status = null; } - } else { - r.status = null; } - } - callback(null, r); - }); + callback(null, r); + }, + ); }.bind(this); d3.queue(1) @@ -182,10 +213,12 @@ const testRoutabilityRow = function (i, cb) { scb(); }; - ['rate', 'status', 'time', 'distance', 'speed' ,'mode'].forEach((key) => { + ['rate', 'status', 'time', 'distance', 'speed', 'mode'].forEach((key) => { sq.defer(parseRes, key); }); - sq.awaitAll((err) => { cb(err, result); }); + sq.awaitAll((err) => { + cb(err, result); + }); }); }; diff --git a/features/support/cache.js b/features/support/cache.js index a593266d5c..fd195740d9 100644 --- a/features/support/cache.js +++ b/features/support/cache.js @@ -28,10 +28,10 @@ export default class Cache { this.featureIDs = {}; this.featureCacheDirectories = {}; this.featureProcessedCacheDirectories = {}; - let queue = d3.queue(); + const queue = d3.queue(); const initializeFeature = (feature, callback) => { - let uri = feature.getUri(); + const uri = feature.getUri(); // setup cache for feature data // if OSRM_PROFILE is set to force a specific profile, then @@ -40,20 +40,29 @@ export default class Cache { if (err) return callback(err); // shorten uri to be realtive to 'features/' - let featurePath = path.relative(path.resolve('./features'), uri); + const featurePath = path.relative(path.resolve('./features'), uri); // bicycle/bollards/{HASH}/ - let featureID = path.join(featurePath, hash); - - let featureCacheDirectory = this.getFeatureCacheDirectory(featureID); - let featureProcessedCacheDirectory = this.getFeatureProcessedCacheDirectory(featureCacheDirectory, this.osrmHash); + const featureID = path.join(featurePath, hash); + + const featureCacheDirectory = this.getFeatureCacheDirectory(featureID); + const featureProcessedCacheDirectory = + this.getFeatureProcessedCacheDirectory( + featureCacheDirectory, + this.osrmHash, + ); this.featureIDs[uri] = featureID; this.featureCacheDirectories[uri] = featureCacheDirectory; - this.featureProcessedCacheDirectories[uri] = featureProcessedCacheDirectory; + this.featureProcessedCacheDirectories[uri] = + featureProcessedCacheDirectory; d3.queue(1) .defer(createDir, featureProcessedCacheDirectory) .defer(this.cleanupFeatureCache, featureCacheDirectory, hash) - .defer(this.cleanupProcessedFeatureCache, featureProcessedCacheDirectory, this.osrmHash) + .defer( + this.cleanupProcessedFeatureCache, + featureProcessedCacheDirectory, + this.osrmHash, + ) .awaitAll(callback); }); }; @@ -65,12 +74,12 @@ export default class Cache { } cleanupProcessedFeatureCache(directory, osrmHash, callback) { - let parentPath = path.resolve(path.join(directory, '..')); + const parentPath = path.resolve(path.join(directory, '..')); fs.readdir(parentPath, (err, files) => { if (err) return callback(err); - let q = d3.queue(); + const q = d3.queue(); files.forEach((f) => { - let filePath = path.join(parentPath, f); + const filePath = path.join(parentPath, f); fs.stat(filePath, (err, stat) => { if (err) return callback(err); if (stat.isDirectory() && filePath.search(osrmHash) < 0) { @@ -83,37 +92,61 @@ export default class Cache { } cleanupFeatureCache(directory, featureHash, callback) { - let parentPath = path.resolve(path.join(directory, '..')); + const parentPath = path.resolve(path.join(directory, '..')); fs.readdir(parentPath, (err, files) => { if (err) return callback(err); - let q = d3.queue(); - files.filter((name) => name !== featureHash).forEach((f) => { - rm(path.join(parentPath, f), { recursive: true, force: true }); - }); + const q = d3.queue(); + files + .filter((name) => name !== featureHash) + .forEach((f) => { + rm(path.join(parentPath, f), { recursive: true, force: true }); + }); q.awaitAll(callback); }); } setupFeatureCache(feature) { - let uri = feature.getUri(); + const uri = feature.getUri(); this.featureID = this.featureIDs[uri]; this.featureCacheDirectory = this.featureCacheDirectories[uri]; - this.featureProcessedCacheDirectory = this.featureProcessedCacheDirectories[uri]; + this.featureProcessedCacheDirectory = + this.featureProcessedCacheDirectories[uri]; } setupScenarioCache(scenarioID) { - this.scenarioCacheFile = this.getScenarioCacheFile(this.featureCacheDirectory, scenarioID); - this.processedCacheFile = this.getProcessedCacheFile(this.featureProcessedCacheDirectory, scenarioID); - this.inputCacheFile = this.getInputCacheFile(this.featureProcessedCacheDirectory, scenarioID); - this.rasterCacheFile = this.getRasterCacheFile(this.featureProcessedCacheDirectory, scenarioID); - this.speedsCacheFile = this.getSpeedsCacheFile(this.featureProcessedCacheDirectory, scenarioID); - this.penaltiesCacheFile = this.getPenaltiesCacheFile(this.featureProcessedCacheDirectory, scenarioID); - this.profileCacheFile = this.getProfileCacheFile(this.featureProcessedCacheDirectory, scenarioID); + this.scenarioCacheFile = this.getScenarioCacheFile( + this.featureCacheDirectory, + scenarioID, + ); + this.processedCacheFile = this.getProcessedCacheFile( + this.featureProcessedCacheDirectory, + scenarioID, + ); + this.inputCacheFile = this.getInputCacheFile( + this.featureProcessedCacheDirectory, + scenarioID, + ); + this.rasterCacheFile = this.getRasterCacheFile( + this.featureProcessedCacheDirectory, + scenarioID, + ); + this.speedsCacheFile = this.getSpeedsCacheFile( + this.featureProcessedCacheDirectory, + scenarioID, + ); + this.penaltiesCacheFile = this.getPenaltiesCacheFile( + this.featureProcessedCacheDirectory, + scenarioID, + ); + this.profileCacheFile = this.getProfileCacheFile( + this.featureProcessedCacheDirectory, + scenarioID, + ); } // returns a hash of all OSRM code side dependencies getOSRMHash(callback) { - let dependencies = [ + const dependencies = [ this.OSRM_EXTRACT_PATH, this.OSRM_CONTRACT_PATH, this.OSRM_CUSTOMIZE_PATH, @@ -121,14 +154,16 @@ export default class Cache { this.LIB_OSRM_EXTRACT_PATH, this.LIB_OSRM_CONTRACT_PATH, this.LIB_OSRM_CUSTOMIZE_PATH, - this.LIB_OSRM_PARTITION_PATH + this.LIB_OSRM_PARTITION_PATH, ]; const addLuaFiles = function (directory, callback) { fs.readdir(path.normalize(directory), (err, files) => { if (err) return callback(err); - const luaFiles = files.filter(f => !!f.match(/\.lua$/)).map(f => path.normalize(directory + '/' + f)); + const luaFiles = files + .filter((f) => !!f.match(/\.lua$/)) + .map((f) => path.normalize(`${directory}/${f}`)); Array.prototype.push.apply(dependencies, luaFiles); callback(); @@ -139,7 +174,7 @@ export default class Cache { // passed is stable. Otherwise the hash will not be stable d3.queue(1) .defer(addLuaFiles, this.PROFILES_PATH) - .defer(addLuaFiles, this.PROFILES_PATH + '/lib') + .defer(addLuaFiles, `${this.PROFILES_PATH}/lib`) .awaitAll(hash.hashOfFiles.bind(hash, dependencies, callback)); } @@ -149,43 +184,50 @@ export default class Cache { } // converts the scenario titles in file prefixes - // Cucumber v12 API: testCase parameter contains { gherkinDocument, pickle } + // Cucumber v12 API: testCase parameter contains { gherkinDocument, pickle } // Use formatterHelpers.PickleParser.getPickleLocation() to get line numbers like scenario.getLine() in v1 getScenarioID(testCaseParam) { const { gherkinDocument, pickle } = testCaseParam; - let name = pickle.name.toLowerCase().replace(/[/\-'=,():*#]/g, '') - .replace(/\s/g, '_').replace(/__/g, '_').replace(/\.\./g, '.') + const name = pickle.name + .toLowerCase() + .replace(/[/\-'=,():*#]/g, '') + .replace(/\s/g, '_') + .replace(/__/g, '_') + .replace(/\.\./g, '.') .substring(0, 64); - + // Get line number using Cucumber v12 API - const { line } = formatterHelpers.PickleParser.getPickleLocation({ gherkinDocument, pickle }); - + const { line } = formatterHelpers.PickleParser.getPickleLocation({ + gherkinDocument, + pickle, + }); + return util.format('%d_%s', line, name); } // test/cache/{feature_path}/{feature_hash}/{scenario}_raster.asc getRasterCacheFile(featureCacheDirectory, scenarioID) { - return path.join(featureCacheDirectory, scenarioID) + '_raster.asc'; + return `${path.join(featureCacheDirectory, scenarioID)}_raster.asc`; } // test/cache/{feature_path}/{feature_hash}/{scenario}_speeds.csv getSpeedsCacheFile(featureCacheDirectory, scenarioID) { - return path.join(featureCacheDirectory, scenarioID) + '_speeds.csv'; + return `${path.join(featureCacheDirectory, scenarioID)}_speeds.csv`; } // test/cache/{feature_path}/{feature_hash}/{scenario}_penalties.csv getPenaltiesCacheFile(featureCacheDirectory, scenarioID) { - return path.join(featureCacheDirectory, scenarioID) + '_penalties.csv'; + return `${path.join(featureCacheDirectory, scenarioID)}_penalties.csv`; } // test/cache/{feature_path}/{feature_hash}/{scenario}_profile.lua getProfileCacheFile(featureCacheDirectory, scenarioID) { - return path.join(featureCacheDirectory, scenarioID) + '_profile.lua'; + return `${path.join(featureCacheDirectory, scenarioID)}_profile.lua`; } // test/cache/{feature_path}/{feature_hash}/{scenario}.osm getScenarioCacheFile(featureCacheDirectory, scenarioID) { - return path.join(featureCacheDirectory, scenarioID) + '.osm'; + return `${path.join(featureCacheDirectory, scenarioID)}.osm`; } // test/cache/{feature_path}/{feature_hash}/{osrm_hash}/ @@ -195,11 +237,11 @@ export default class Cache { // test/cache/{feature_path}/{feature_hash}/{osrm_hash}/{scenario}.osrm getProcessedCacheFile(featureProcessedCacheDirectory, scenarioID) { - return path.join(featureProcessedCacheDirectory, scenarioID) + '.osrm'; + return `${path.join(featureProcessedCacheDirectory, scenarioID)}.osrm`; } // test/cache/{feature_path}/{feature_hash}/{osrm_hash}/{scenario}.osm getInputCacheFile(featureProcessedCacheDirectory, scenarioID) { - return path.join(featureProcessedCacheDirectory, scenarioID) + '.osm'; + return `${path.join(featureProcessedCacheDirectory, scenarioID)}.osm`; } } diff --git a/features/support/data.js b/features/support/data.js index b919200bcf..42c642b701 100644 --- a/features/support/data.js +++ b/features/support/data.js @@ -21,7 +21,9 @@ export default class Data { // the constant is calculated (with BigDecimal as: 1.0/(DEG_TO_RAD*EARTH_RADIUS_IN_METERS // see ApproximateDistance() in ExtractorStructs.h // it's only accurate when measuring along the equator, or going exactly north-south - this.zoom = this.gridSize * 0.8990679362704610899694577444566908445396483347536032203503E-5; + this.zoom = + this.gridSize * + 0.8990679362704610899694577444566908445396483347536032203503e-5; } // Sets base coordinate for test scenario positioning @@ -34,7 +36,11 @@ export default class Data { // Calculates coordinate offset by grid cells from origin offsetOriginBy(xCells, yCells) { - return this.ruler.offset(this.origin, xCells * this.gridSize, yCells * this.gridSize); + return this.ruler.offset( + this.origin, + xCells * this.gridSize, + yCells * this.gridSize, + ); } // Builds OSM ways from test table data with synthetic coordinates @@ -53,34 +59,51 @@ export default class Data { // Creates synthetic OSM node with calculated coordinates const makeFakeNode = (namePrefix, offset) => { const coord = this.offsetOriginBy(offset + this.WAY_SPACING * ri, 0); - return new OSM.Node(this.makeOSMId(), this.OSM_USER, this.OSM_TIMESTAMP, - this.OSM_UID, coord[0], - coord[1], {name: util.format('%s%d', namePrefix, ri)}); + return new OSM.Node( + this.makeOSMId(), + this.OSM_USER, + this.OSM_TIMESTAMP, + this.OSM_UID, + coord[0], + coord[1], + { name: util.format('%s%d', namePrefix, ri) }, + ); }; - const nodes = ['a','b','c','d','e'].map((l, i) => makeFakeNode(l, i)); + const nodes = ['a', 'b', 'c', 'd', 'e'].map((l, i) => makeFakeNode(l, i)); - nodes.forEach(node => { this.OSMDB.addNode(node); }); + nodes.forEach((node) => { + this.OSMDB.addNode(node); + }); // ...with a way between them - const way = new OSM.Way(this.makeOSMId(), this.OSM_USER, this.OSM_TIMESTAMP, this.OSM_UID); - - nodes.forEach(node => { way.addNode(node); }); + const way = new OSM.Way( + this.makeOSMId(), + this.OSM_USER, + this.OSM_TIMESTAMP, + this.OSM_UID, + ); + + nodes.forEach((node) => { + way.addNode(node); + }); // remove tags that describe expected test result, reject empty tags const tags = {}; - for (let rkey in row) { - if (!rkey.match(/^forw\b/) && - !rkey.match(/^backw\b/) && - !rkey.match(/^bothw\b/) && - row[rkey].length) + for (const rkey in row) { + if ( + !rkey.match(/^forw\b/) && + !rkey.match(/^backw\b/) && + !rkey.match(/^bothw\b/) && + row[rkey].length + ) tags[rkey] = row[rkey]; } const wayTags = { highway: 'primary' }; const nodeTags = {}; - for (let key in tags) { + for (const key in tags) { const nodeMatch = key.match(/node\/(.*)/); if (nodeMatch) { if (tags[key] === '(nil)') { @@ -101,7 +124,7 @@ export default class Data { way.setTags(wayTags); this.OSMDB.addWay(way); - for (let k in nodeTags) { + for (const k in nodeTags) { nodes[2].addTag(k, nodeTags[k]); } cb(); @@ -123,7 +146,15 @@ export default class Data { // Adds named OSM node to test database addOSMNode(name, lon, lat, id) { id = id || this.makeOSMId(); - const node = new OSM.Node(id, this.OSM_USER, this.OSM_TIMESTAMP, this.OSM_UID, lon, lat, {name: name}); + const node = new OSM.Node( + id, + this.OSM_USER, + this.OSM_TIMESTAMP, + this.OSM_UID, + lon, + lat, + { name }, + ); this.OSMDB.addNode(node); this.nameNodeHash[name] = node; } @@ -135,8 +166,14 @@ export default class Data { // Finds OSM node or location by single character name findNodeByName(s) { - if (s.length !== 1) throw new Error(util.format('*** invalid node name "%s", must be single characters', s)); - if (!s.match(/[a-z0-9]/)) throw new Error(util.format('*** invalid node name "%s", must be alphanumeric', s)); + if (s.length !== 1) + throw new Error( + util.format('*** invalid node name "%s", must be single characters', s), + ); + if (!s.match(/[a-z0-9]/)) + throw new Error( + util.format('*** invalid node name "%s", must be alphanumeric', s), + ); let fromNode; if (s.match(/[a-z]/)) { @@ -150,12 +187,22 @@ export default class Data { // find a node based on an array containing lon/lat findNodeByLocation(node_location) { - const searched_coordinate = new classes.Location(node_location[0],node_location[1]); - for (const node in this.nameNodeHash) - { - const node_coordinate = new classes.Location(this.nameNodeHash[node].lon,this.nameNodeHash[node].lat); - if (this.FuzzyMatch.matchCoordinate(searched_coordinate, node_coordinate, this.zoom)) - { + const searched_coordinate = new classes.Location( + node_location[0], + node_location[1], + ); + for (const node in this.nameNodeHash) { + const node_coordinate = new classes.Location( + this.nameNodeHash[node].lon, + this.nameNodeHash[node].lat, + ); + if ( + this.FuzzyMatch.matchCoordinate( + searched_coordinate, + node_coordinate, + this.zoom, + ) + ) { return node; } } @@ -163,11 +210,17 @@ export default class Data { } findWayByName(s) { - return this.nameWayHash[s.toString()] || this.nameWayHash[s.toString().split('').reverse().join('')]; + return ( + this.nameWayHash[s.toString()] || + this.nameWayHash[s.toString().split('').reverse().join('')] + ); } findRelationByName(s) { - return this.nameRelationHash[s.toString()] || this.nameRelationHash[s.toString().split('').reverse().join('')]; + return ( + this.nameRelationHash[s.toString()] || + this.nameRelationHash[s.toString().split('').reverse().join('')] + ); } makeOSMId() { @@ -206,69 +259,116 @@ export default class Data { } extractData(p, callback) { - let stamp = p.processedCacheFile + '.stamp_extract'; + const stamp = `${p.processedCacheFile}.stamp_extract`; fs.exists(stamp, (exists) => { if (exists) return callback(); - this.runBin('osrm-extract', util.format('%s --profile %s %s', p.extractArgs, p.profileFile, p.inputCacheFile), p.environment, (err) => { - if (err) { - return callback(new Error(util.format('osrm-extract %s: %s', errorReason(err), err.cmd))); - } - fs.writeFile(stamp, 'ok', callback); - }); + this.runBin( + 'osrm-extract', + util.format( + '%s --profile %s %s', + p.extractArgs, + p.profileFile, + p.inputCacheFile, + ), + p.environment, + (err) => { + if (err) { + return callback( + new Error( + util.format('osrm-extract %s: %s', errorReason(err), err.cmd), + ), + ); + } + fs.writeFile(stamp, 'ok', callback); + }, + ); }); } contractData(p, callback) { - let stamp = p.processedCacheFile + '.stamp_contract'; + const stamp = `${p.processedCacheFile}.stamp_contract`; fs.exists(stamp, (exists) => { if (exists) return callback(); - this.runBin('osrm-contract', util.format('%s %s', p.contractArgs, p.processedCacheFile), p.environment, (err) => { - if (err) { - return callback(new Error(util.format('osrm-contract %s: %s', errorReason(err), err))); - } - fs.writeFile(stamp, 'ok', callback); - }); + this.runBin( + 'osrm-contract', + util.format('%s %s', p.contractArgs, p.processedCacheFile), + p.environment, + (err) => { + if (err) { + return callback( + new Error( + util.format('osrm-contract %s: %s', errorReason(err), err), + ), + ); + } + fs.writeFile(stamp, 'ok', callback); + }, + ); }); } partitionData(p, callback) { - let stamp = p.processedCacheFile + '.stamp_partition'; + const stamp = `${p.processedCacheFile}.stamp_partition`; fs.exists(stamp, (exists) => { if (exists) return callback(); - this.runBin('osrm-partition', util.format('%s %s', p.partitionArgs, p.processedCacheFile), p.environment, (err) => { - if (err) { - return callback(new Error(util.format('osrm-partition %s: %s', errorReason(err), err.cmd))); - } - fs.writeFile(stamp, 'ok', callback); - }); + this.runBin( + 'osrm-partition', + util.format('%s %s', p.partitionArgs, p.processedCacheFile), + p.environment, + (err) => { + if (err) { + return callback( + new Error( + util.format('osrm-partition %s: %s', errorReason(err), err.cmd), + ), + ); + } + fs.writeFile(stamp, 'ok', callback); + }, + ); }); } customizeData(p, callback) { - let stamp = p.processedCacheFile + '.stamp_customize'; + const stamp = `${p.processedCacheFile}.stamp_customize`; fs.exists(stamp, (exists) => { if (exists) return callback(); - this.runBin('osrm-customize', util.format('%s %s', p.customizeArgs, p.processedCacheFile), p.environment, (err) => { - if (err) { - return callback(new Error(util.format('osrm-customize %s: %s', errorReason(err), err))); - } - fs.writeFile(stamp, 'ok', callback); - }); + this.runBin( + 'osrm-customize', + util.format('%s %s', p.customizeArgs, p.processedCacheFile), + p.environment, + (err) => { + if (err) { + return callback( + new Error( + util.format('osrm-customize %s: %s', errorReason(err), err), + ), + ); + } + fs.writeFile(stamp, 'ok', callback); + }, + ); }); } extractContractPartitionAndCustomize(callback) { // a shallow copy of scenario parameters to avoid data inconsistency // if a cucumber timeout occurs during deferred jobs - let p = {extractArgs: this.extractArgs, contractArgs: this.contractArgs, - partitionArgs: this.partitionArgs, customizeArgs: this.customizeArgs, - profileFile: this.profileFile, inputCacheFile: this.inputCacheFile, - processedCacheFile: this.processedCacheFile, environment: this.environment}; - let queue = d3.queue(1); + const p = { + extractArgs: this.extractArgs, + contractArgs: this.contractArgs, + partitionArgs: this.partitionArgs, + customizeArgs: this.customizeArgs, + profileFile: this.profileFile, + inputCacheFile: this.inputCacheFile, + processedCacheFile: this.processedCacheFile, + environment: this.environment, + }; + const queue = d3.queue(1); queue.defer(this.extractData, p); queue.defer(this.partitionData, p); queue.defer(this.contractData, p); @@ -277,21 +377,24 @@ export default class Data { } writeAndLinkOSM(callback) { - let queue = d3.queue(1); + const queue = d3.queue(1); queue.defer(this.writeOSM); queue.defer(this.linkOSM); queue.awaitAll(callback); } reprocess(callback) { - let queue = d3.queue(1); + const queue = d3.queue(1); queue.defer(this.writeAndLinkOSM); queue.defer(this.extractContractPartitionAndCustomize); queue.awaitAll(callback); } reprocessAndLoadData(callback) { - const p = {loaderArgs: this.loaderArgs, inputFile: this.processedCacheFile}; + const p = { + loaderArgs: this.loaderArgs, + inputFile: this.processedCacheFile, + }; const queue = d3.queue(1); queue.defer(this.writeAndLinkOSM); queue.defer(this.extractContractPartitionAndCustomize); @@ -302,7 +405,9 @@ export default class Data { processRowsAndDiff(table, fn, callback) { const q = d3.queue(1); - table.hashes().forEach((row, i) => { q.defer(fn, row, i); }); + table.hashes().forEach((row, i) => { + q.defer(fn, row, i); + }); q.awaitAll((err, actual) => { if (err) return callback(err); diff --git a/features/support/data_classes.js b/features/support/data_classes.js index 221be34a44..b70fd2bb97 100644 --- a/features/support/data_classes.js +++ b/features/support/data_classes.js @@ -3,24 +3,27 @@ import util from 'util'; export default { Location: class { - constructor (lon, lat) { + constructor(lon, lat) { this.lon = lon; this.lat = lat; } }, FuzzyMatch: class { - match (got, want) { + match(got, want) { // don't fail if bearings input and extected string is empty and actual result is undefined - if (want === '' && (got === '' || got === undefined)) - return true; + if (want === '' && (got === '' || got === undefined)) return true; const matchPercent = want.match(/(.*)\s+~(.+)%$/), matchAbs = want.match(/(.*)\s+\+-(.+)$/), matchRe = want.match(/^\/(.*)\/$/), // we use this for matching before/after bearing - matchBearingListAbs = want.match(/^((\d+)->(\d+))(,(\d+)->(\d+))*\s+\+-(.+)$/), - matchIntersectionListAbs = want.match(/^(((((true|false):\d+)\s{0,1})+,{0,1})+;{0,1})+\s+\+-(.+)$/), + matchBearingListAbs = want.match( + /^((\d+)->(\d+))(,(\d+)->(\d+))*\s+\+-(.+)$/, + ), + matchIntersectionListAbs = want.match( + /^(((((true|false):\d+)\s{0,1})+,{0,1})+;{0,1})+\s+\+-(.+)$/, + ), matchRangeNumbers = want.match(/\d+\+-\d+/); function inRange(margin, got, want) { @@ -29,84 +32,110 @@ export default { return parseFloat(got) >= fromR && parseFloat(got) <= toR; } function parseIntersectionString(str) { - return str.split(';') - .map((turn_intersections) => turn_intersections - .split(',') - .map((intersection) => intersection - .split(' ') - .map((entry_bearing_pair) => entry_bearing_pair - .split(':')))); + return str + .split(';') + .map((turn_intersections) => + turn_intersections + .split(',') + .map((intersection) => + intersection + .split(' ') + .map((entry_bearing_pair) => entry_bearing_pair.split(':')), + ), + ); } if (got === want) { return true; } else if (matchBearingListAbs) { - let want_and_margin = want.split('+-'), + const want_and_margin = want.split('+-'), margin = parseFloat(want_and_margin[1].trim()), - want_pairs = want_and_margin[0].trim().split(',').map((pair) => pair.split('->')), + want_pairs = want_and_margin[0] + .trim() + .split(',') + .map((pair) => pair.split('->')), got_pairs = got.split(',').map((pair) => pair.split('->')); - if (want_pairs.length != got_pairs.length) - { + if (want_pairs.length != got_pairs.length) { return false; } - for (let i = 0; i < want_pairs.length; ++i) - { - if (!inRange(margin, got_pairs[i][0], want_pairs[i][0]) || - !inRange(margin, got_pairs[i][1], want_pairs[i][1])) - { + for (let i = 0; i < want_pairs.length; ++i) { + if ( + !inRange(margin, got_pairs[i][0], want_pairs[i][0]) || + !inRange(margin, got_pairs[i][1], want_pairs[i][1]) + ) { return false; } } return true; } else if (matchIntersectionListAbs) { - let margin = parseFloat(want.split('+-')[1]), - want_intersections = parseIntersectionString(want.split('+-')[0].trim()), + const margin = parseFloat(want.split('+-')[1]), + want_intersections = parseIntersectionString( + want.split('+-')[0].trim(), + ), got_intersections = parseIntersectionString(got); - if (want_intersections.length != got_intersections.length) - { + if (want_intersections.length != got_intersections.length) { return false; } - for (let step_idx = 0; step_idx < want_intersections.length; ++step_idx) - { - if (want_intersections[step_idx].length != got_intersections[step_idx].length) - { + for ( + let step_idx = 0; + step_idx < want_intersections.length; + ++step_idx + ) { + if ( + want_intersections[step_idx].length != + got_intersections[step_idx].length + ) { return false; } - for (let intersection_idx = 0; intersection_idx < want_intersections[step_idx].length; ++intersection_idx) - { - if (want_intersections[step_idx][intersection_idx].length != got_intersections[step_idx][intersection_idx].length) - { + for ( + let intersection_idx = 0; + intersection_idx < want_intersections[step_idx].length; + ++intersection_idx + ) { + if ( + want_intersections[step_idx][intersection_idx].length != + got_intersections[step_idx][intersection_idx].length + ) { return false; } - for (let pair_idx = 0; pair_idx < want_intersections[step_idx][intersection_idx].length; ++pair_idx) - { - let want_pair = want_intersections[step_idx][intersection_idx][pair_idx], - got_pair = got_intersections[step_idx][intersection_idx][pair_idx]; - if (got_pair[0] != want_pair[0] || - !inRange(margin, got_pair[1], want_pair[1])) - { + for ( + let pair_idx = 0; + pair_idx < want_intersections[step_idx][intersection_idx].length; + ++pair_idx + ) { + const want_pair = + want_intersections[step_idx][intersection_idx][pair_idx], + got_pair = + got_intersections[step_idx][intersection_idx][pair_idx]; + if ( + got_pair[0] != want_pair[0] || + !inRange(margin, got_pair[1], want_pair[1]) + ) { return false; } } } } return true; - } else if (matchPercent) { // percentage range: 100 ~ 5% + } else if (matchPercent) { + // percentage range: 100 ~ 5% const target = parseFloat(matchPercent[1]), percentage = parseFloat(matchPercent[2]); if (target === 0) { return true; } else { - let ratio = Math.abs(1 - parseFloat(got) / target); + const ratio = Math.abs(1 - parseFloat(got) / target); return 100 * ratio < percentage; } - } else if (matchAbs) { // absolute range: 100 +-5 - let margin = parseFloat(matchAbs[2]); + } else if (matchAbs) { + // absolute range: 100 +-5 + const margin = parseFloat(matchAbs[2]); return inRange(margin, got, matchAbs[1]); - } else if (matchRe) { // regex: /a,b,.*/ + } else if (matchRe) { + // regex: /a,b,.*/ return got.match(matchRe[1]); } else if (matchRangeNumbers) { - let real_want_and_margin = want.split('+-'), + const real_want_and_margin = want.split('+-'), margin = parseFloat(real_want_and_margin[1].trim()), real_want = parseFloat(real_want_and_margin[0].trim()); return inRange(margin, got, real_want); @@ -115,17 +144,20 @@ export default { } } - matchLocation (got, want) { + matchLocation(got, want) { if (got == null || want == null) return false; - return this.match(got[0], util.format('%d ~0.0025%', want.lon)) && - this.match(got[1], util.format('%d ~0.0025%', want.lat)); + return ( + this.match(got[0], util.format('%d ~0.0025%', want.lon)) && + this.match(got[1], util.format('%d ~0.0025%', want.lat)) + ); } - matchCoordinate (got, want, zoom) { + matchCoordinate(got, want, zoom) { if (got == null || want == null) return false; - return this.match(got.lon, util.format('%d +- %d', want.lon, 0.25*zoom)) && - this.match(got.lat, util.format('%d +- %d', want.lat, 0.25*zoom)); + return ( + this.match(got.lon, util.format('%d +- %d', want.lon, 0.25 * zoom)) && + this.match(got.lat, util.format('%d +- %d', want.lat, 0.25 * zoom)) + ); } - - } + }, }; diff --git a/features/support/env.js b/features/support/env.js index d149203119..6f27eeada9 100644 --- a/features/support/env.js +++ b/features/support/env.js @@ -10,7 +10,7 @@ import { setDefaultTimeout } from '@cucumber/cucumber'; // Set global timeout for all steps and hooks setDefaultTimeout( (process.env.CUCUMBER_TIMEOUT && parseInt(process.env.CUCUMBER_TIMEOUT)) || - 5000 + 5000, ); // Sets up all constants that are valid for all features @@ -37,7 +37,7 @@ export default class Env { this.DEFAULT_ENVIRONMENT = process.env; this.DEFAULT_PROFILE = 'bicycle'; this.DEFAULT_INPUT_FORMAT = 'osm'; - let loadMethod = process.env.OSRM_LOAD_METHOD || 'datastore'; + const loadMethod = process.env.OSRM_LOAD_METHOD || 'datastore'; this.DEFAULT_LOAD_METHOD = loadMethod.match('mmap') ? 'mmap' : loadMethod.match('directly') @@ -51,7 +51,7 @@ export default class Env { this.DEFAULT_GRID_SIZE = 100; // meters // get algorithm name from the command line profile argument this.ROUTING_ALGORITHM = process.argv[process.argv.indexOf('-p') + 1].match( - 'mld' + 'mld', ) ? 'MLD' : 'CH'; @@ -79,9 +79,9 @@ export default class Env { // heuristically detect .so/.a/.dll/.lib suffix this.LIB = ['lib%s.a', 'lib%s.so', '%s.dll', '%s.lib'].find((format) => { try { - const lib = this.BIN_PATH + '/' + util.format(format, 'osrm'); + const lib = `${this.BIN_PATH}/${util.format(format, 'osrm')}`; fs.accessSync(lib, fs.constants.F_OK); - } catch (e) { + } catch { return false; } return true; @@ -89,50 +89,50 @@ export default class Env { if (this.LIB === undefined) { throw new Error( - '*** Unable to detect dynamic or static libosrm libraries' + '*** Unable to detect dynamic or static libosrm libraries', ); } this.OSRM_EXTRACT_PATH = path.resolve( - util.format('%s/%s%s', this.BIN_PATH, 'osrm-extract', this.EXE) + util.format('%s/%s%s', this.BIN_PATH, 'osrm-extract', this.EXE), ); this.OSRM_CONTRACT_PATH = path.resolve( - util.format('%s/%s%s', this.BIN_PATH, 'osrm-contract', this.EXE) + util.format('%s/%s%s', this.BIN_PATH, 'osrm-contract', this.EXE), ); this.OSRM_CUSTOMIZE_PATH = path.resolve( - util.format('%s/%s%s', this.BIN_PATH, 'osrm-customize', this.EXE) + util.format('%s/%s%s', this.BIN_PATH, 'osrm-customize', this.EXE), ); this.OSRM_PARTITION_PATH = path.resolve( - util.format('%s/%s%s', this.BIN_PATH, 'osrm-partition', this.EXE) + util.format('%s/%s%s', this.BIN_PATH, 'osrm-partition', this.EXE), ); this.OSRM_ROUTED_PATH = path.resolve( - util.format('%s/%s%s', this.BIN_PATH, 'osrm-routed', this.EXE) + util.format('%s/%s%s', this.BIN_PATH, 'osrm-routed', this.EXE), ); - (this.LIB_OSRM_EXTRACT_PATH = util.format( - '%s/' + this.LIB, + ((this.LIB_OSRM_EXTRACT_PATH = util.format( + `%s/${this.LIB}`, this.BIN_PATH, - 'osrm_extract' + 'osrm_extract', )), (this.LIB_OSRM_CONTRACT_PATH = util.format( - '%s/' + this.LIB, + `%s/${this.LIB}`, this.BIN_PATH, - 'osrm_contract' + 'osrm_contract', )), (this.LIB_OSRM_CUSTOMIZE_PATH = util.format( - '%s/' + this.LIB, + `%s/${this.LIB}`, this.BIN_PATH, - 'osrm_customize' + 'osrm_customize', )), (this.LIB_OSRM_PARTITION_PATH = util.format( - '%s/' + this.LIB, + `%s/${this.LIB}`, this.BIN_PATH, - 'osrm_partition' + 'osrm_partition', )), (this.LIB_OSRM_PATH = util.format( - '%s/' + this.LIB, + `%s/${this.LIB}`, this.BIN_PATH, - 'osrm' - )); + 'osrm', + ))); fs.exists(this.TEST_PATH, (exists) => { if (exists) return callback(); @@ -141,7 +141,7 @@ export default class Env { } getProfilePath(profile) { - return path.resolve(this.PROFILES_PATH, profile + '.lua'); + return path.resolve(this.PROFILES_PATH, `${profile}.lua`); } verifyOSRMIsNotRunning(callback) { @@ -157,15 +157,15 @@ export default class Env { fs.exists(binPath, (exists) => { if (!exists) return cb( - new Error(util.format('%s is missing. Build failed?', binPath)) + new Error(util.format('%s is missing. Build failed?', binPath)), ); const helpPath = util.format('%s --help', binPath); child_process.exec(helpPath, (err) => { if (err) { return cb( new Error( - util.format('*** %s exited with code %d', helpPath, err.code) - ) + util.format('*** %s exited with code %d', helpPath, err.code), + ), ); } cb(); diff --git a/features/support/fbresult_generated.js b/features/support/fbresult_generated.js index 84dd199f51..37ea76215a 100644 --- a/features/support/fbresult_generated.js +++ b/features/support/fbresult_generated.js @@ -43,7 +43,7 @@ osrm.engine.api.fbresult.ManeuverType = { RoundaboutTurn: 12, Notification: 13, ExitRoundabout: 14, - ExitRotary: 15 + ExitRotary: 15, }; /** @@ -65,7 +65,7 @@ osrm.engine.api.fbresult.ManeuverTypeName = { 12: 'RoundaboutTurn', 13: 'Notification', 14: 'ExitRoundabout', - 15: 'ExitRotary' + 15: 'ExitRotary', }; /** @@ -80,7 +80,7 @@ osrm.engine.api.fbresult.Turn = { Straight: 5, SlightLeft: 6, Left: 7, - SharpLeft: 8 + SharpLeft: 8, }; /** @@ -95,13 +95,13 @@ osrm.engine.api.fbresult.TurnName = { 5: 'Straight', 6: 'SlightLeft', 7: 'Left', - 8: 'SharpLeft' + 8: 'SharpLeft', }; /** * @constructor */ -osrm.engine.api.fbresult.Position = function() { +osrm.engine.api.fbresult.Position = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -118,7 +118,7 @@ osrm.engine.api.fbresult.Position = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Position} */ -osrm.engine.api.fbresult.Position.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Position.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -127,14 +127,14 @@ osrm.engine.api.fbresult.Position.prototype.__init = function(i, bb) { /** * @returns {number} */ -osrm.engine.api.fbresult.Position.prototype.longitude = function() { +osrm.engine.api.fbresult.Position.prototype.longitude = function () { return this.bb.readFloat32(this.bb_pos); }; /** * @returns {number} */ -osrm.engine.api.fbresult.Position.prototype.latitude = function() { +osrm.engine.api.fbresult.Position.prototype.latitude = function () { return this.bb.readFloat32(this.bb_pos + 4); }; @@ -144,7 +144,11 @@ osrm.engine.api.fbresult.Position.prototype.latitude = function() { * @param {number} latitude * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Position.createPosition = function(builder, longitude, latitude) { +osrm.engine.api.fbresult.Position.createPosition = function ( + builder, + longitude, + latitude, +) { builder.prep(4, 8); builder.writeFloat32(latitude); builder.writeFloat32(longitude); @@ -154,7 +158,7 @@ osrm.engine.api.fbresult.Position.createPosition = function(builder, longitude, /** * @constructor */ -osrm.engine.api.fbresult.Uint64Pair = function() { +osrm.engine.api.fbresult.Uint64Pair = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -171,7 +175,7 @@ osrm.engine.api.fbresult.Uint64Pair = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Uint64Pair} */ -osrm.engine.api.fbresult.Uint64Pair.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Uint64Pair.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -180,14 +184,14 @@ osrm.engine.api.fbresult.Uint64Pair.prototype.__init = function(i, bb) { /** * @returns {flatbuffers.Long} */ -osrm.engine.api.fbresult.Uint64Pair.prototype.first = function() { +osrm.engine.api.fbresult.Uint64Pair.prototype.first = function () { return this.bb.readUint64(this.bb_pos); }; /** * @returns {flatbuffers.Long} */ -osrm.engine.api.fbresult.Uint64Pair.prototype.second = function() { +osrm.engine.api.fbresult.Uint64Pair.prototype.second = function () { return this.bb.readUint64(this.bb_pos + 8); }; @@ -197,7 +201,11 @@ osrm.engine.api.fbresult.Uint64Pair.prototype.second = function() { * @param {flatbuffers.Long} second * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Uint64Pair.createUint64Pair = function(builder, first, second) { +osrm.engine.api.fbresult.Uint64Pair.createUint64Pair = function ( + builder, + first, + second, +) { builder.prep(8, 16); builder.writeInt64(second); builder.writeInt64(first); @@ -207,7 +215,7 @@ osrm.engine.api.fbresult.Uint64Pair.createUint64Pair = function(builder, first, /** * @constructor */ -osrm.engine.api.fbresult.Waypoint = function() { +osrm.engine.api.fbresult.Waypoint = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -224,7 +232,7 @@ osrm.engine.api.fbresult.Waypoint = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Waypoint} */ -osrm.engine.api.fbresult.Waypoint.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Waypoint.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -235,8 +243,11 @@ osrm.engine.api.fbresult.Waypoint.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.Waypoint=} obj * @returns {osrm.engine.api.fbresult.Waypoint} */ -osrm.engine.api.fbresult.Waypoint.getRootAsWaypoint = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Waypoint).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Waypoint.getRootAsWaypoint = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Waypoint()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -244,24 +255,32 @@ osrm.engine.api.fbresult.Waypoint.getRootAsWaypoint = function(bb, obj) { * @param {osrm.engine.api.fbresult.Waypoint=} obj * @returns {osrm.engine.api.fbresult.Waypoint} */ -osrm.engine.api.fbresult.Waypoint.getSizePrefixedRootAsWaypoint = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Waypoint).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Waypoint.getSizePrefixedRootAsWaypoint = function ( + bb, + obj, +) { + return (obj || new osrm.engine.api.fbresult.Waypoint()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Waypoint.prototype.hint = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Waypoint.prototype.hint = function (optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Waypoint.prototype.distance = function() { - var offset = this.bb.__offset(this.bb_pos, 6); +osrm.engine.api.fbresult.Waypoint.prototype.distance = function () { + const offset = this.bb.__offset(this.bb_pos, 6); return offset ? this.bb.readFloat32(this.bb_pos + offset) : 0.0; }; @@ -269,65 +288,77 @@ osrm.engine.api.fbresult.Waypoint.prototype.distance = function() { * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Waypoint.prototype.name = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 8); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Waypoint.prototype.name = function (optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {osrm.engine.api.fbresult.Position=} obj * @returns {osrm.engine.api.fbresult.Position|null} */ -osrm.engine.api.fbresult.Waypoint.prototype.location = function(obj) { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? (obj || new osrm.engine.api.fbresult.Position).__init(this.bb_pos + offset, this.bb) : null; +osrm.engine.api.fbresult.Waypoint.prototype.location = function (obj) { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? (obj || new osrm.engine.api.fbresult.Position()).__init( + this.bb_pos + offset, + this.bb, + ) + : null; }; /** * @param {osrm.engine.api.fbresult.Uint64Pair=} obj * @returns {osrm.engine.api.fbresult.Uint64Pair|null} */ -osrm.engine.api.fbresult.Waypoint.prototype.nodes = function(obj) { - var offset = this.bb.__offset(this.bb_pos, 12); - return offset ? (obj || new osrm.engine.api.fbresult.Uint64Pair).__init(this.bb_pos + offset, this.bb) : null; +osrm.engine.api.fbresult.Waypoint.prototype.nodes = function (obj) { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset + ? (obj || new osrm.engine.api.fbresult.Uint64Pair()).__init( + this.bb_pos + offset, + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Waypoint.prototype.matchingsIndex = function() { - var offset = this.bb.__offset(this.bb_pos, 14); +osrm.engine.api.fbresult.Waypoint.prototype.matchingsIndex = function () { + const offset = this.bb.__offset(this.bb_pos, 14); return offset ? this.bb.readUint32(this.bb_pos + offset) : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Waypoint.prototype.waypointIndex = function() { - var offset = this.bb.__offset(this.bb_pos, 16); +osrm.engine.api.fbresult.Waypoint.prototype.waypointIndex = function () { + const offset = this.bb.__offset(this.bb_pos, 16); return offset ? this.bb.readUint32(this.bb_pos + offset) : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Waypoint.prototype.alternativesCount = function() { - var offset = this.bb.__offset(this.bb_pos, 18); +osrm.engine.api.fbresult.Waypoint.prototype.alternativesCount = function () { + const offset = this.bb.__offset(this.bb_pos, 18); return offset ? this.bb.readUint32(this.bb_pos + offset) : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Waypoint.prototype.tripsIndex = function() { - var offset = this.bb.__offset(this.bb_pos, 20); +osrm.engine.api.fbresult.Waypoint.prototype.tripsIndex = function () { + const offset = this.bb.__offset(this.bb_pos, 20); return offset ? this.bb.readUint32(this.bb_pos + offset) : 0; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.Waypoint.startWaypoint = function(builder) { +osrm.engine.api.fbresult.Waypoint.startWaypoint = function (builder) { builder.startObject(9); }; @@ -335,7 +366,7 @@ osrm.engine.api.fbresult.Waypoint.startWaypoint = function(builder) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} hintOffset */ -osrm.engine.api.fbresult.Waypoint.addHint = function(builder, hintOffset) { +osrm.engine.api.fbresult.Waypoint.addHint = function (builder, hintOffset) { builder.addFieldOffset(0, hintOffset, 0); }; @@ -343,7 +374,7 @@ osrm.engine.api.fbresult.Waypoint.addHint = function(builder, hintOffset) { * @param {flatbuffers.Builder} builder * @param {number} distance */ -osrm.engine.api.fbresult.Waypoint.addDistance = function(builder, distance) { +osrm.engine.api.fbresult.Waypoint.addDistance = function (builder, distance) { builder.addFieldFloat32(1, distance, 0.0); }; @@ -351,7 +382,7 @@ osrm.engine.api.fbresult.Waypoint.addDistance = function(builder, distance) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} nameOffset */ -osrm.engine.api.fbresult.Waypoint.addName = function(builder, nameOffset) { +osrm.engine.api.fbresult.Waypoint.addName = function (builder, nameOffset) { builder.addFieldOffset(2, nameOffset, 0); }; @@ -359,7 +390,10 @@ osrm.engine.api.fbresult.Waypoint.addName = function(builder, nameOffset) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} locationOffset */ -osrm.engine.api.fbresult.Waypoint.addLocation = function(builder, locationOffset) { +osrm.engine.api.fbresult.Waypoint.addLocation = function ( + builder, + locationOffset, +) { builder.addFieldStruct(3, locationOffset, 0); }; @@ -367,7 +401,7 @@ osrm.engine.api.fbresult.Waypoint.addLocation = function(builder, locationOffset * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} nodesOffset */ -osrm.engine.api.fbresult.Waypoint.addNodes = function(builder, nodesOffset) { +osrm.engine.api.fbresult.Waypoint.addNodes = function (builder, nodesOffset) { builder.addFieldStruct(4, nodesOffset, 0); }; @@ -375,7 +409,10 @@ osrm.engine.api.fbresult.Waypoint.addNodes = function(builder, nodesOffset) { * @param {flatbuffers.Builder} builder * @param {number} matchingsIndex */ -osrm.engine.api.fbresult.Waypoint.addMatchingsIndex = function(builder, matchingsIndex) { +osrm.engine.api.fbresult.Waypoint.addMatchingsIndex = function ( + builder, + matchingsIndex, +) { builder.addFieldInt32(5, matchingsIndex, 0); }; @@ -383,7 +420,10 @@ osrm.engine.api.fbresult.Waypoint.addMatchingsIndex = function(builder, matching * @param {flatbuffers.Builder} builder * @param {number} waypointIndex */ -osrm.engine.api.fbresult.Waypoint.addWaypointIndex = function(builder, waypointIndex) { +osrm.engine.api.fbresult.Waypoint.addWaypointIndex = function ( + builder, + waypointIndex, +) { builder.addFieldInt32(6, waypointIndex, 0); }; @@ -391,7 +431,10 @@ osrm.engine.api.fbresult.Waypoint.addWaypointIndex = function(builder, waypointI * @param {flatbuffers.Builder} builder * @param {number} alternativesCount */ -osrm.engine.api.fbresult.Waypoint.addAlternativesCount = function(builder, alternativesCount) { +osrm.engine.api.fbresult.Waypoint.addAlternativesCount = function ( + builder, + alternativesCount, +) { builder.addFieldInt32(7, alternativesCount, 0); }; @@ -399,7 +442,10 @@ osrm.engine.api.fbresult.Waypoint.addAlternativesCount = function(builder, alter * @param {flatbuffers.Builder} builder * @param {number} tripsIndex */ -osrm.engine.api.fbresult.Waypoint.addTripsIndex = function(builder, tripsIndex) { +osrm.engine.api.fbresult.Waypoint.addTripsIndex = function ( + builder, + tripsIndex, +) { builder.addFieldInt32(8, tripsIndex, 0); }; @@ -407,8 +453,8 @@ osrm.engine.api.fbresult.Waypoint.addTripsIndex = function(builder, tripsIndex) * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Waypoint.endWaypoint = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.Waypoint.endWaypoint = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -425,7 +471,18 @@ osrm.engine.api.fbresult.Waypoint.endWaypoint = function(builder) { * @param {number} tripsIndex * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Waypoint.createWaypoint = function(builder, hintOffset, distance, nameOffset, locationOffset, nodesOffset, matchingsIndex, waypointIndex, alternativesCount, tripsIndex) { +osrm.engine.api.fbresult.Waypoint.createWaypoint = function ( + builder, + hintOffset, + distance, + nameOffset, + locationOffset, + nodesOffset, + matchingsIndex, + waypointIndex, + alternativesCount, + tripsIndex, +) { osrm.engine.api.fbresult.Waypoint.startWaypoint(builder); osrm.engine.api.fbresult.Waypoint.addHint(builder, hintOffset); osrm.engine.api.fbresult.Waypoint.addDistance(builder, distance); @@ -434,7 +491,10 @@ osrm.engine.api.fbresult.Waypoint.createWaypoint = function(builder, hintOffset, osrm.engine.api.fbresult.Waypoint.addNodes(builder, nodesOffset); osrm.engine.api.fbresult.Waypoint.addMatchingsIndex(builder, matchingsIndex); osrm.engine.api.fbresult.Waypoint.addWaypointIndex(builder, waypointIndex); - osrm.engine.api.fbresult.Waypoint.addAlternativesCount(builder, alternativesCount); + osrm.engine.api.fbresult.Waypoint.addAlternativesCount( + builder, + alternativesCount, + ); osrm.engine.api.fbresult.Waypoint.addTripsIndex(builder, tripsIndex); return osrm.engine.api.fbresult.Waypoint.endWaypoint(builder); }; @@ -442,7 +502,7 @@ osrm.engine.api.fbresult.Waypoint.createWaypoint = function(builder, hintOffset, /** * @constructor */ -osrm.engine.api.fbresult.Metadata = function() { +osrm.engine.api.fbresult.Metadata = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -459,7 +519,7 @@ osrm.engine.api.fbresult.Metadata = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Metadata} */ -osrm.engine.api.fbresult.Metadata.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Metadata.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -470,8 +530,11 @@ osrm.engine.api.fbresult.Metadata.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.Metadata=} obj * @returns {osrm.engine.api.fbresult.Metadata} */ -osrm.engine.api.fbresult.Metadata.getRootAsMetadata = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Metadata).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Metadata.getRootAsMetadata = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Metadata()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -479,8 +542,14 @@ osrm.engine.api.fbresult.Metadata.getRootAsMetadata = function(bb, obj) { * @param {osrm.engine.api.fbresult.Metadata=} obj * @returns {osrm.engine.api.fbresult.Metadata} */ -osrm.engine.api.fbresult.Metadata.getSizePrefixedRootAsMetadata = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Metadata).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Metadata.getSizePrefixedRootAsMetadata = function ( + bb, + obj, +) { + return (obj || new osrm.engine.api.fbresult.Metadata()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -488,23 +557,32 @@ osrm.engine.api.fbresult.Metadata.getSizePrefixedRootAsMetadata = function(bb, o * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array} */ -osrm.engine.api.fbresult.Metadata.prototype.datasourceNames = function(index, optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? this.bb.__string(this.bb.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null; +osrm.engine.api.fbresult.Metadata.prototype.datasourceNames = function ( + index, + optionalEncoding, +) { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? this.bb.__string( + this.bb.__vector(this.bb_pos + offset) + index * 4, + optionalEncoding, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Metadata.prototype.datasourceNamesLength = function() { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; -}; +osrm.engine.api.fbresult.Metadata.prototype.datasourceNamesLength = + function () { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.Metadata.startMetadata = function(builder) { +osrm.engine.api.fbresult.Metadata.startMetadata = function (builder) { builder.startObject(1); }; @@ -512,7 +590,10 @@ osrm.engine.api.fbresult.Metadata.startMetadata = function(builder) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} datasourceNamesOffset */ -osrm.engine.api.fbresult.Metadata.addDatasourceNames = function(builder, datasourceNamesOffset) { +osrm.engine.api.fbresult.Metadata.addDatasourceNames = function ( + builder, + datasourceNamesOffset, +) { builder.addFieldOffset(0, datasourceNamesOffset, 0); }; @@ -521,9 +602,12 @@ osrm.engine.api.fbresult.Metadata.addDatasourceNames = function(builder, datasou * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Metadata.createDatasourceNamesVector = function(builder, data) { +osrm.engine.api.fbresult.Metadata.createDatasourceNamesVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); @@ -533,7 +617,10 @@ osrm.engine.api.fbresult.Metadata.createDatasourceNamesVector = function(builder * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Metadata.startDatasourceNamesVector = function(builder, numElems) { +osrm.engine.api.fbresult.Metadata.startDatasourceNamesVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -541,8 +628,8 @@ osrm.engine.api.fbresult.Metadata.startDatasourceNamesVector = function(builder, * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Metadata.endMetadata = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.Metadata.endMetadata = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -551,16 +638,22 @@ osrm.engine.api.fbresult.Metadata.endMetadata = function(builder) { * @param {flatbuffers.Offset} datasourceNamesOffset * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Metadata.createMetadata = function(builder, datasourceNamesOffset) { +osrm.engine.api.fbresult.Metadata.createMetadata = function ( + builder, + datasourceNamesOffset, +) { osrm.engine.api.fbresult.Metadata.startMetadata(builder); - osrm.engine.api.fbresult.Metadata.addDatasourceNames(builder, datasourceNamesOffset); + osrm.engine.api.fbresult.Metadata.addDatasourceNames( + builder, + datasourceNamesOffset, + ); return osrm.engine.api.fbresult.Metadata.endMetadata(builder); }; /** * @constructor */ -osrm.engine.api.fbresult.Annotation = function() { +osrm.engine.api.fbresult.Annotation = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -577,7 +670,7 @@ osrm.engine.api.fbresult.Annotation = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Annotation} */ -osrm.engine.api.fbresult.Annotation.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Annotation.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -588,8 +681,11 @@ osrm.engine.api.fbresult.Annotation.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.Annotation=} obj * @returns {osrm.engine.api.fbresult.Annotation} */ -osrm.engine.api.fbresult.Annotation.getRootAsAnnotation = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Annotation).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Annotation.getRootAsAnnotation = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Annotation()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -597,173 +693,232 @@ osrm.engine.api.fbresult.Annotation.getRootAsAnnotation = function(bb, obj) { * @param {osrm.engine.api.fbresult.Annotation=} obj * @returns {osrm.engine.api.fbresult.Annotation} */ -osrm.engine.api.fbresult.Annotation.getSizePrefixedRootAsAnnotation = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Annotation).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Annotation.getSizePrefixedRootAsAnnotation = function ( + bb, + obj, +) { + return (obj || new osrm.engine.api.fbresult.Annotation()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** * @param {number} index * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.distance = function(index) { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; +osrm.engine.api.fbresult.Annotation.prototype.distance = function (index) { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) + : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.distanceLength = function() { - var offset = this.bb.__offset(this.bb_pos, 4); +osrm.engine.api.fbresult.Annotation.prototype.distanceLength = function () { + const offset = this.bb.__offset(this.bb_pos, 4); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Uint32Array} */ -osrm.engine.api.fbresult.Annotation.prototype.distanceArray = function() { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Annotation.prototype.distanceArray = function () { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? new Uint32Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** * @param {number} index * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.duration = function(index) { - var offset = this.bb.__offset(this.bb_pos, 6); - return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; +osrm.engine.api.fbresult.Annotation.prototype.duration = function (index) { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset + ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) + : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.durationLength = function() { - var offset = this.bb.__offset(this.bb_pos, 6); +osrm.engine.api.fbresult.Annotation.prototype.durationLength = function () { + const offset = this.bb.__offset(this.bb_pos, 6); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Uint32Array} */ -osrm.engine.api.fbresult.Annotation.prototype.durationArray = function() { - var offset = this.bb.__offset(this.bb_pos, 6); - return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Annotation.prototype.durationArray = function () { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset + ? new Uint32Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** * @param {number} index * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.datasources = function(index) { - var offset = this.bb.__offset(this.bb_pos, 8); - return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; +osrm.engine.api.fbresult.Annotation.prototype.datasources = function (index) { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset + ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) + : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.datasourcesLength = function() { - var offset = this.bb.__offset(this.bb_pos, 8); +osrm.engine.api.fbresult.Annotation.prototype.datasourcesLength = function () { + const offset = this.bb.__offset(this.bb_pos, 8); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Uint32Array} */ -osrm.engine.api.fbresult.Annotation.prototype.datasourcesArray = function() { - var offset = this.bb.__offset(this.bb_pos, 8); - return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Annotation.prototype.datasourcesArray = function () { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset + ? new Uint32Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** * @param {number} index * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.nodes = function(index) { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; +osrm.engine.api.fbresult.Annotation.prototype.nodes = function (index) { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) + : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.nodesLength = function() { - var offset = this.bb.__offset(this.bb_pos, 10); +osrm.engine.api.fbresult.Annotation.prototype.nodesLength = function () { + const offset = this.bb.__offset(this.bb_pos, 10); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Uint32Array} */ -osrm.engine.api.fbresult.Annotation.prototype.nodesArray = function() { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Annotation.prototype.nodesArray = function () { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? new Uint32Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** * @param {number} index * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.weight = function(index) { - var offset = this.bb.__offset(this.bb_pos, 12); - return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; +osrm.engine.api.fbresult.Annotation.prototype.weight = function (index) { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset + ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) + : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.weightLength = function() { - var offset = this.bb.__offset(this.bb_pos, 12); +osrm.engine.api.fbresult.Annotation.prototype.weightLength = function () { + const offset = this.bb.__offset(this.bb_pos, 12); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Uint32Array} */ -osrm.engine.api.fbresult.Annotation.prototype.weightArray = function() { - var offset = this.bb.__offset(this.bb_pos, 12); - return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Annotation.prototype.weightArray = function () { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset + ? new Uint32Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** * @param {number} index * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.speed = function(index) { - var offset = this.bb.__offset(this.bb_pos, 14); - return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; +osrm.engine.api.fbresult.Annotation.prototype.speed = function (index) { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset + ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) + : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Annotation.prototype.speedLength = function() { - var offset = this.bb.__offset(this.bb_pos, 14); +osrm.engine.api.fbresult.Annotation.prototype.speedLength = function () { + const offset = this.bb.__offset(this.bb_pos, 14); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Float32Array} */ -osrm.engine.api.fbresult.Annotation.prototype.speedArray = function() { - var offset = this.bb.__offset(this.bb_pos, 14); - return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Annotation.prototype.speedArray = function () { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset + ? new Float32Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** * @param {osrm.engine.api.fbresult.Metadata=} obj * @returns {osrm.engine.api.fbresult.Metadata|null} */ -osrm.engine.api.fbresult.Annotation.prototype.metadata = function(obj) { - var offset = this.bb.__offset(this.bb_pos, 16); - return offset ? (obj || new osrm.engine.api.fbresult.Metadata).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null; +osrm.engine.api.fbresult.Annotation.prototype.metadata = function (obj) { + const offset = this.bb.__offset(this.bb_pos, 16); + return offset + ? (obj || new osrm.engine.api.fbresult.Metadata()).__init( + this.bb.__indirect(this.bb_pos + offset), + this.bb, + ) + : null; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.Annotation.startAnnotation = function(builder) { +osrm.engine.api.fbresult.Annotation.startAnnotation = function (builder) { builder.startObject(7); }; @@ -771,7 +926,10 @@ osrm.engine.api.fbresult.Annotation.startAnnotation = function(builder) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} distanceOffset */ -osrm.engine.api.fbresult.Annotation.addDistance = function(builder, distanceOffset) { +osrm.engine.api.fbresult.Annotation.addDistance = function ( + builder, + distanceOffset, +) { builder.addFieldOffset(0, distanceOffset, 0); }; @@ -780,9 +938,12 @@ osrm.engine.api.fbresult.Annotation.addDistance = function(builder, distanceOffs * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Annotation.createDistanceVector = function(builder, data) { +osrm.engine.api.fbresult.Annotation.createDistanceVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addInt32(data[i]); } return builder.endVector(); @@ -792,7 +953,10 @@ osrm.engine.api.fbresult.Annotation.createDistanceVector = function(builder, dat * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Annotation.startDistanceVector = function(builder, numElems) { +osrm.engine.api.fbresult.Annotation.startDistanceVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -800,7 +964,10 @@ osrm.engine.api.fbresult.Annotation.startDistanceVector = function(builder, numE * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} durationOffset */ -osrm.engine.api.fbresult.Annotation.addDuration = function(builder, durationOffset) { +osrm.engine.api.fbresult.Annotation.addDuration = function ( + builder, + durationOffset, +) { builder.addFieldOffset(1, durationOffset, 0); }; @@ -809,9 +976,12 @@ osrm.engine.api.fbresult.Annotation.addDuration = function(builder, durationOffs * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Annotation.createDurationVector = function(builder, data) { +osrm.engine.api.fbresult.Annotation.createDurationVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addInt32(data[i]); } return builder.endVector(); @@ -821,7 +991,10 @@ osrm.engine.api.fbresult.Annotation.createDurationVector = function(builder, dat * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Annotation.startDurationVector = function(builder, numElems) { +osrm.engine.api.fbresult.Annotation.startDurationVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -829,7 +1002,10 @@ osrm.engine.api.fbresult.Annotation.startDurationVector = function(builder, numE * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} datasourcesOffset */ -osrm.engine.api.fbresult.Annotation.addDatasources = function(builder, datasourcesOffset) { +osrm.engine.api.fbresult.Annotation.addDatasources = function ( + builder, + datasourcesOffset, +) { builder.addFieldOffset(2, datasourcesOffset, 0); }; @@ -838,9 +1014,12 @@ osrm.engine.api.fbresult.Annotation.addDatasources = function(builder, datasourc * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Annotation.createDatasourcesVector = function(builder, data) { +osrm.engine.api.fbresult.Annotation.createDatasourcesVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addInt32(data[i]); } return builder.endVector(); @@ -850,7 +1029,10 @@ osrm.engine.api.fbresult.Annotation.createDatasourcesVector = function(builder, * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Annotation.startDatasourcesVector = function(builder, numElems) { +osrm.engine.api.fbresult.Annotation.startDatasourcesVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -858,7 +1040,7 @@ osrm.engine.api.fbresult.Annotation.startDatasourcesVector = function(builder, n * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} nodesOffset */ -osrm.engine.api.fbresult.Annotation.addNodes = function(builder, nodesOffset) { +osrm.engine.api.fbresult.Annotation.addNodes = function (builder, nodesOffset) { builder.addFieldOffset(3, nodesOffset, 0); }; @@ -867,9 +1049,12 @@ osrm.engine.api.fbresult.Annotation.addNodes = function(builder, nodesOffset) { * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Annotation.createNodesVector = function(builder, data) { +osrm.engine.api.fbresult.Annotation.createNodesVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addInt32(data[i]); } return builder.endVector(); @@ -879,7 +1064,10 @@ osrm.engine.api.fbresult.Annotation.createNodesVector = function(builder, data) * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Annotation.startNodesVector = function(builder, numElems) { +osrm.engine.api.fbresult.Annotation.startNodesVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -887,7 +1075,10 @@ osrm.engine.api.fbresult.Annotation.startNodesVector = function(builder, numElem * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} weightOffset */ -osrm.engine.api.fbresult.Annotation.addWeight = function(builder, weightOffset) { +osrm.engine.api.fbresult.Annotation.addWeight = function ( + builder, + weightOffset, +) { builder.addFieldOffset(4, weightOffset, 0); }; @@ -896,9 +1087,12 @@ osrm.engine.api.fbresult.Annotation.addWeight = function(builder, weightOffset) * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Annotation.createWeightVector = function(builder, data) { +osrm.engine.api.fbresult.Annotation.createWeightVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addInt32(data[i]); } return builder.endVector(); @@ -908,7 +1102,10 @@ osrm.engine.api.fbresult.Annotation.createWeightVector = function(builder, data) * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Annotation.startWeightVector = function(builder, numElems) { +osrm.engine.api.fbresult.Annotation.startWeightVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -916,7 +1113,7 @@ osrm.engine.api.fbresult.Annotation.startWeightVector = function(builder, numEle * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} speedOffset */ -osrm.engine.api.fbresult.Annotation.addSpeed = function(builder, speedOffset) { +osrm.engine.api.fbresult.Annotation.addSpeed = function (builder, speedOffset) { builder.addFieldOffset(5, speedOffset, 0); }; @@ -925,9 +1122,12 @@ osrm.engine.api.fbresult.Annotation.addSpeed = function(builder, speedOffset) { * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Annotation.createSpeedVector = function(builder, data) { +osrm.engine.api.fbresult.Annotation.createSpeedVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addFloat32(data[i]); } return builder.endVector(); @@ -937,7 +1137,10 @@ osrm.engine.api.fbresult.Annotation.createSpeedVector = function(builder, data) * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Annotation.startSpeedVector = function(builder, numElems) { +osrm.engine.api.fbresult.Annotation.startSpeedVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -945,7 +1148,10 @@ osrm.engine.api.fbresult.Annotation.startSpeedVector = function(builder, numElem * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} metadataOffset */ -osrm.engine.api.fbresult.Annotation.addMetadata = function(builder, metadataOffset) { +osrm.engine.api.fbresult.Annotation.addMetadata = function ( + builder, + metadataOffset, +) { builder.addFieldOffset(6, metadataOffset, 0); }; @@ -953,8 +1159,8 @@ osrm.engine.api.fbresult.Annotation.addMetadata = function(builder, metadataOffs * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Annotation.endAnnotation = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.Annotation.endAnnotation = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -969,11 +1175,23 @@ osrm.engine.api.fbresult.Annotation.endAnnotation = function(builder) { * @param {flatbuffers.Offset} metadataOffset * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Annotation.createAnnotation = function(builder, distanceOffset, durationOffset, datasourcesOffset, nodesOffset, weightOffset, speedOffset, metadataOffset) { +osrm.engine.api.fbresult.Annotation.createAnnotation = function ( + builder, + distanceOffset, + durationOffset, + datasourcesOffset, + nodesOffset, + weightOffset, + speedOffset, + metadataOffset, +) { osrm.engine.api.fbresult.Annotation.startAnnotation(builder); osrm.engine.api.fbresult.Annotation.addDistance(builder, distanceOffset); osrm.engine.api.fbresult.Annotation.addDuration(builder, durationOffset); - osrm.engine.api.fbresult.Annotation.addDatasources(builder, datasourcesOffset); + osrm.engine.api.fbresult.Annotation.addDatasources( + builder, + datasourcesOffset, + ); osrm.engine.api.fbresult.Annotation.addNodes(builder, nodesOffset); osrm.engine.api.fbresult.Annotation.addWeight(builder, weightOffset); osrm.engine.api.fbresult.Annotation.addSpeed(builder, speedOffset); @@ -984,7 +1202,7 @@ osrm.engine.api.fbresult.Annotation.createAnnotation = function(builder, distanc /** * @constructor */ -osrm.engine.api.fbresult.StepManeuver = function() { +osrm.engine.api.fbresult.StepManeuver = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -1001,7 +1219,7 @@ osrm.engine.api.fbresult.StepManeuver = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.StepManeuver} */ -osrm.engine.api.fbresult.StepManeuver.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.StepManeuver.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -1012,8 +1230,14 @@ osrm.engine.api.fbresult.StepManeuver.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.StepManeuver=} obj * @returns {osrm.engine.api.fbresult.StepManeuver} */ -osrm.engine.api.fbresult.StepManeuver.getRootAsStepManeuver = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.StepManeuver).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.StepManeuver.getRootAsStepManeuver = function ( + bb, + obj, +) { + return (obj || new osrm.engine.api.fbresult.StepManeuver()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -1021,63 +1245,80 @@ osrm.engine.api.fbresult.StepManeuver.getRootAsStepManeuver = function(bb, obj) * @param {osrm.engine.api.fbresult.StepManeuver=} obj * @returns {osrm.engine.api.fbresult.StepManeuver} */ -osrm.engine.api.fbresult.StepManeuver.getSizePrefixedRootAsStepManeuver = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.StepManeuver).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; +osrm.engine.api.fbresult.StepManeuver.getSizePrefixedRootAsStepManeuver = + function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.StepManeuver()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + }; /** * @param {osrm.engine.api.fbresult.Position=} obj * @returns {osrm.engine.api.fbresult.Position|null} */ -osrm.engine.api.fbresult.StepManeuver.prototype.location = function(obj) { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? (obj || new osrm.engine.api.fbresult.Position).__init(this.bb_pos + offset, this.bb) : null; +osrm.engine.api.fbresult.StepManeuver.prototype.location = function (obj) { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? (obj || new osrm.engine.api.fbresult.Position()).__init( + this.bb_pos + offset, + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.StepManeuver.prototype.bearingBefore = function() { - var offset = this.bb.__offset(this.bb_pos, 6); +osrm.engine.api.fbresult.StepManeuver.prototype.bearingBefore = function () { + const offset = this.bb.__offset(this.bb_pos, 6); return offset ? this.bb.readUint16(this.bb_pos + offset) : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.StepManeuver.prototype.bearingAfter = function() { - var offset = this.bb.__offset(this.bb_pos, 8); +osrm.engine.api.fbresult.StepManeuver.prototype.bearingAfter = function () { + const offset = this.bb.__offset(this.bb_pos, 8); return offset ? this.bb.readUint16(this.bb_pos + offset) : 0; }; /** * @returns {osrm.engine.api.fbresult.ManeuverType} */ -osrm.engine.api.fbresult.StepManeuver.prototype.type = function() { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? /** @type {osrm.engine.api.fbresult.ManeuverType} */ (this.bb.readInt8(this.bb_pos + offset)) : osrm.engine.api.fbresult.ManeuverType.Turn; +osrm.engine.api.fbresult.StepManeuver.prototype.type = function () { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? /** @type {osrm.engine.api.fbresult.ManeuverType} */ ( + this.bb.readInt8(this.bb_pos + offset) + ) + : osrm.engine.api.fbresult.ManeuverType.Turn; }; /** * @returns {osrm.engine.api.fbresult.Turn} */ -osrm.engine.api.fbresult.StepManeuver.prototype.modifier = function() { - var offset = this.bb.__offset(this.bb_pos, 12); - return offset ? /** @type {osrm.engine.api.fbresult.Turn} */ (this.bb.readInt8(this.bb_pos + offset)) : osrm.engine.api.fbresult.Turn.None; +osrm.engine.api.fbresult.StepManeuver.prototype.modifier = function () { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset + ? /** @type {osrm.engine.api.fbresult.Turn} */ ( + this.bb.readInt8(this.bb_pos + offset) + ) + : osrm.engine.api.fbresult.Turn.None; }; /** * @returns {number} */ -osrm.engine.api.fbresult.StepManeuver.prototype.exit = function() { - var offset = this.bb.__offset(this.bb_pos, 14); +osrm.engine.api.fbresult.StepManeuver.prototype.exit = function () { + const offset = this.bb.__offset(this.bb_pos, 14); return offset ? this.bb.readUint8(this.bb_pos + offset) : 0; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.StepManeuver.startStepManeuver = function(builder) { +osrm.engine.api.fbresult.StepManeuver.startStepManeuver = function (builder) { builder.startObject(6); }; @@ -1085,7 +1326,10 @@ osrm.engine.api.fbresult.StepManeuver.startStepManeuver = function(builder) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} locationOffset */ -osrm.engine.api.fbresult.StepManeuver.addLocation = function(builder, locationOffset) { +osrm.engine.api.fbresult.StepManeuver.addLocation = function ( + builder, + locationOffset, +) { builder.addFieldStruct(0, locationOffset, 0); }; @@ -1093,7 +1337,10 @@ osrm.engine.api.fbresult.StepManeuver.addLocation = function(builder, locationOf * @param {flatbuffers.Builder} builder * @param {number} bearingBefore */ -osrm.engine.api.fbresult.StepManeuver.addBearingBefore = function(builder, bearingBefore) { +osrm.engine.api.fbresult.StepManeuver.addBearingBefore = function ( + builder, + bearingBefore, +) { builder.addFieldInt16(1, bearingBefore, 0); }; @@ -1101,7 +1348,10 @@ osrm.engine.api.fbresult.StepManeuver.addBearingBefore = function(builder, beari * @param {flatbuffers.Builder} builder * @param {number} bearingAfter */ -osrm.engine.api.fbresult.StepManeuver.addBearingAfter = function(builder, bearingAfter) { +osrm.engine.api.fbresult.StepManeuver.addBearingAfter = function ( + builder, + bearingAfter, +) { builder.addFieldInt16(2, bearingAfter, 0); }; @@ -1109,7 +1359,7 @@ osrm.engine.api.fbresult.StepManeuver.addBearingAfter = function(builder, bearin * @param {flatbuffers.Builder} builder * @param {osrm.engine.api.fbresult.ManeuverType} type */ -osrm.engine.api.fbresult.StepManeuver.addType = function(builder, type) { +osrm.engine.api.fbresult.StepManeuver.addType = function (builder, type) { builder.addFieldInt8(3, type, osrm.engine.api.fbresult.ManeuverType.Turn); }; @@ -1117,7 +1367,10 @@ osrm.engine.api.fbresult.StepManeuver.addType = function(builder, type) { * @param {flatbuffers.Builder} builder * @param {osrm.engine.api.fbresult.Turn} modifier */ -osrm.engine.api.fbresult.StepManeuver.addModifier = function(builder, modifier) { +osrm.engine.api.fbresult.StepManeuver.addModifier = function ( + builder, + modifier, +) { builder.addFieldInt8(4, modifier, osrm.engine.api.fbresult.Turn.None); }; @@ -1125,7 +1378,7 @@ osrm.engine.api.fbresult.StepManeuver.addModifier = function(builder, modifier) * @param {flatbuffers.Builder} builder * @param {number} exit */ -osrm.engine.api.fbresult.StepManeuver.addExit = function(builder, exit) { +osrm.engine.api.fbresult.StepManeuver.addExit = function (builder, exit) { builder.addFieldInt8(5, exit, 0); }; @@ -1133,8 +1386,8 @@ osrm.engine.api.fbresult.StepManeuver.addExit = function(builder, exit) { * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.StepManeuver.endStepManeuver = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.StepManeuver.endStepManeuver = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -1148,10 +1401,21 @@ osrm.engine.api.fbresult.StepManeuver.endStepManeuver = function(builder) { * @param {number} exit * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.StepManeuver.createStepManeuver = function(builder, locationOffset, bearingBefore, bearingAfter, type, modifier, exit) { +osrm.engine.api.fbresult.StepManeuver.createStepManeuver = function ( + builder, + locationOffset, + bearingBefore, + bearingAfter, + type, + modifier, + exit, +) { osrm.engine.api.fbresult.StepManeuver.startStepManeuver(builder); osrm.engine.api.fbresult.StepManeuver.addLocation(builder, locationOffset); - osrm.engine.api.fbresult.StepManeuver.addBearingBefore(builder, bearingBefore); + osrm.engine.api.fbresult.StepManeuver.addBearingBefore( + builder, + bearingBefore, + ); osrm.engine.api.fbresult.StepManeuver.addBearingAfter(builder, bearingAfter); osrm.engine.api.fbresult.StepManeuver.addType(builder, type); osrm.engine.api.fbresult.StepManeuver.addModifier(builder, modifier); @@ -1162,7 +1426,7 @@ osrm.engine.api.fbresult.StepManeuver.createStepManeuver = function(builder, loc /** * @constructor */ -osrm.engine.api.fbresult.Lane = function() { +osrm.engine.api.fbresult.Lane = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -1179,7 +1443,7 @@ osrm.engine.api.fbresult.Lane = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Lane} */ -osrm.engine.api.fbresult.Lane.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Lane.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -1190,8 +1454,11 @@ osrm.engine.api.fbresult.Lane.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.Lane=} obj * @returns {osrm.engine.api.fbresult.Lane} */ -osrm.engine.api.fbresult.Lane.getRootAsLane = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Lane).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Lane.getRootAsLane = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Lane()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -1199,47 +1466,60 @@ osrm.engine.api.fbresult.Lane.getRootAsLane = function(bb, obj) { * @param {osrm.engine.api.fbresult.Lane=} obj * @returns {osrm.engine.api.fbresult.Lane} */ -osrm.engine.api.fbresult.Lane.getSizePrefixedRootAsLane = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Lane).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Lane.getSizePrefixedRootAsLane = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Lane()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** * @param {number} index * @returns {osrm.engine.api.fbresult.Turn} */ -osrm.engine.api.fbresult.Lane.prototype.indications = function(index) { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? /** @type {osrm.engine.api.fbresult.Turn} */ (this.bb.readInt8(this.bb.__vector(this.bb_pos + offset) + index)) : /** @type {osrm.engine.api.fbresult.Turn} */ (0); +osrm.engine.api.fbresult.Lane.prototype.indications = function (index) { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? /** @type {osrm.engine.api.fbresult.Turn} */ ( + this.bb.readInt8(this.bb.__vector(this.bb_pos + offset) + index) + ) + : /** @type {osrm.engine.api.fbresult.Turn} */ (0); }; /** * @returns {number} */ -osrm.engine.api.fbresult.Lane.prototype.indicationsLength = function() { - var offset = this.bb.__offset(this.bb_pos, 4); +osrm.engine.api.fbresult.Lane.prototype.indicationsLength = function () { + const offset = this.bb.__offset(this.bb_pos, 4); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Int8Array} */ -osrm.engine.api.fbresult.Lane.prototype.indicationsArray = function() { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? new Int8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Lane.prototype.indicationsArray = function () { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? new Int8Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** * @returns {boolean} */ -osrm.engine.api.fbresult.Lane.prototype.valid = function() { - var offset = this.bb.__offset(this.bb_pos, 6); +osrm.engine.api.fbresult.Lane.prototype.valid = function () { + const offset = this.bb.__offset(this.bb_pos, 6); return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.Lane.startLane = function(builder) { +osrm.engine.api.fbresult.Lane.startLane = function (builder) { builder.startObject(2); }; @@ -1247,7 +1527,10 @@ osrm.engine.api.fbresult.Lane.startLane = function(builder) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} indicationsOffset */ -osrm.engine.api.fbresult.Lane.addIndications = function(builder, indicationsOffset) { +osrm.engine.api.fbresult.Lane.addIndications = function ( + builder, + indicationsOffset, +) { builder.addFieldOffset(0, indicationsOffset, 0); }; @@ -1256,9 +1539,12 @@ osrm.engine.api.fbresult.Lane.addIndications = function(builder, indicationsOffs * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Lane.createIndicationsVector = function(builder, data) { +osrm.engine.api.fbresult.Lane.createIndicationsVector = function ( + builder, + data, +) { builder.startVector(1, data.length, 1); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addInt8(data[i]); } return builder.endVector(); @@ -1268,7 +1554,10 @@ osrm.engine.api.fbresult.Lane.createIndicationsVector = function(builder, data) * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Lane.startIndicationsVector = function(builder, numElems) { +osrm.engine.api.fbresult.Lane.startIndicationsVector = function ( + builder, + numElems, +) { builder.startVector(1, numElems, 1); }; @@ -1276,7 +1565,7 @@ osrm.engine.api.fbresult.Lane.startIndicationsVector = function(builder, numElem * @param {flatbuffers.Builder} builder * @param {boolean} valid */ -osrm.engine.api.fbresult.Lane.addValid = function(builder, valid) { +osrm.engine.api.fbresult.Lane.addValid = function (builder, valid) { builder.addFieldInt8(1, +valid, +false); }; @@ -1284,8 +1573,8 @@ osrm.engine.api.fbresult.Lane.addValid = function(builder, valid) { * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Lane.endLane = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.Lane.endLane = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -1295,7 +1584,11 @@ osrm.engine.api.fbresult.Lane.endLane = function(builder) { * @param {boolean} valid * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Lane.createLane = function(builder, indicationsOffset, valid) { +osrm.engine.api.fbresult.Lane.createLane = function ( + builder, + indicationsOffset, + valid, +) { osrm.engine.api.fbresult.Lane.startLane(builder); osrm.engine.api.fbresult.Lane.addIndications(builder, indicationsOffset); osrm.engine.api.fbresult.Lane.addValid(builder, valid); @@ -1305,7 +1598,7 @@ osrm.engine.api.fbresult.Lane.createLane = function(builder, indicationsOffset, /** * @constructor */ -osrm.engine.api.fbresult.Intersection = function() { +osrm.engine.api.fbresult.Intersection = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -1322,7 +1615,7 @@ osrm.engine.api.fbresult.Intersection = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Intersection} */ -osrm.engine.api.fbresult.Intersection.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Intersection.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -1333,8 +1626,14 @@ osrm.engine.api.fbresult.Intersection.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.Intersection=} obj * @returns {osrm.engine.api.fbresult.Intersection} */ -osrm.engine.api.fbresult.Intersection.getRootAsIntersection = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Intersection).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Intersection.getRootAsIntersection = function ( + bb, + obj, +) { + return (obj || new osrm.engine.api.fbresult.Intersection()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -1342,42 +1641,59 @@ osrm.engine.api.fbresult.Intersection.getRootAsIntersection = function(bb, obj) * @param {osrm.engine.api.fbresult.Intersection=} obj * @returns {osrm.engine.api.fbresult.Intersection} */ -osrm.engine.api.fbresult.Intersection.getSizePrefixedRootAsIntersection = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Intersection).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; +osrm.engine.api.fbresult.Intersection.getSizePrefixedRootAsIntersection = + function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Intersection()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + }; /** * @param {osrm.engine.api.fbresult.Position=} obj * @returns {osrm.engine.api.fbresult.Position|null} */ -osrm.engine.api.fbresult.Intersection.prototype.location = function(obj) { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? (obj || new osrm.engine.api.fbresult.Position).__init(this.bb_pos + offset, this.bb) : null; +osrm.engine.api.fbresult.Intersection.prototype.location = function (obj) { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? (obj || new osrm.engine.api.fbresult.Position()).__init( + this.bb_pos + offset, + this.bb, + ) + : null; }; /** * @param {number} index * @returns {number} */ -osrm.engine.api.fbresult.Intersection.prototype.bearings = function(index) { - var offset = this.bb.__offset(this.bb_pos, 6); - return offset ? this.bb.readInt16(this.bb.__vector(this.bb_pos + offset) + index * 2) : 0; +osrm.engine.api.fbresult.Intersection.prototype.bearings = function (index) { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset + ? this.bb.readInt16(this.bb.__vector(this.bb_pos + offset) + index * 2) + : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Intersection.prototype.bearingsLength = function() { - var offset = this.bb.__offset(this.bb_pos, 6); +osrm.engine.api.fbresult.Intersection.prototype.bearingsLength = function () { + const offset = this.bb.__offset(this.bb_pos, 6); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Int16Array} */ -osrm.engine.api.fbresult.Intersection.prototype.bearingsArray = function() { - var offset = this.bb.__offset(this.bb_pos, 6); - return offset ? new Int16Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Intersection.prototype.bearingsArray = function () { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset + ? new Int16Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** @@ -1385,16 +1701,24 @@ osrm.engine.api.fbresult.Intersection.prototype.bearingsArray = function() { * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array} */ -osrm.engine.api.fbresult.Intersection.prototype.classes = function(index, optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 8); - return offset ? this.bb.__string(this.bb.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null; +osrm.engine.api.fbresult.Intersection.prototype.classes = function ( + index, + optionalEncoding, +) { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset + ? this.bb.__string( + this.bb.__vector(this.bb_pos + offset) + index * 4, + optionalEncoding, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Intersection.prototype.classesLength = function() { - var offset = this.bb.__offset(this.bb_pos, 8); +osrm.engine.api.fbresult.Intersection.prototype.classesLength = function () { + const offset = this.bb.__offset(this.bb_pos, 8); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; @@ -1402,40 +1726,48 @@ osrm.engine.api.fbresult.Intersection.prototype.classesLength = function() { * @param {number} index * @returns {boolean} */ -osrm.engine.api.fbresult.Intersection.prototype.entry = function(index) { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? !!this.bb.readInt8(this.bb.__vector(this.bb_pos + offset) + index) : false; +osrm.engine.api.fbresult.Intersection.prototype.entry = function (index) { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? !!this.bb.readInt8(this.bb.__vector(this.bb_pos + offset) + index) + : false; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Intersection.prototype.entryLength = function() { - var offset = this.bb.__offset(this.bb_pos, 10); +osrm.engine.api.fbresult.Intersection.prototype.entryLength = function () { + const offset = this.bb.__offset(this.bb_pos, 10); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Int8Array} */ -osrm.engine.api.fbresult.Intersection.prototype.entryArray = function() { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? new Int8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Intersection.prototype.entryArray = function () { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? new Int8Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Intersection.prototype.inBearing = function() { - var offset = this.bb.__offset(this.bb_pos, 12); +osrm.engine.api.fbresult.Intersection.prototype.inBearing = function () { + const offset = this.bb.__offset(this.bb_pos, 12); return offset ? this.bb.readUint32(this.bb_pos + offset) : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Intersection.prototype.outBearing = function() { - var offset = this.bb.__offset(this.bb_pos, 14); +osrm.engine.api.fbresult.Intersection.prototype.outBearing = function () { + const offset = this.bb.__offset(this.bb_pos, 14); return offset ? this.bb.readUint32(this.bb_pos + offset) : 0; }; @@ -1444,23 +1776,28 @@ osrm.engine.api.fbresult.Intersection.prototype.outBearing = function() { * @param {osrm.engine.api.fbresult.Lane=} obj * @returns {osrm.engine.api.fbresult.Lane} */ -osrm.engine.api.fbresult.Intersection.prototype.lanes = function(index, obj) { - var offset = this.bb.__offset(this.bb_pos, 16); - return offset ? (obj || new osrm.engine.api.fbresult.Lane).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; +osrm.engine.api.fbresult.Intersection.prototype.lanes = function (index, obj) { + const offset = this.bb.__offset(this.bb_pos, 16); + return offset + ? (obj || new osrm.engine.api.fbresult.Lane()).__init( + this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Intersection.prototype.lanesLength = function() { - var offset = this.bb.__offset(this.bb_pos, 16); +osrm.engine.api.fbresult.Intersection.prototype.lanesLength = function () { + const offset = this.bb.__offset(this.bb_pos, 16); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.Intersection.startIntersection = function(builder) { +osrm.engine.api.fbresult.Intersection.startIntersection = function (builder) { builder.startObject(7); }; @@ -1468,7 +1805,10 @@ osrm.engine.api.fbresult.Intersection.startIntersection = function(builder) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} locationOffset */ -osrm.engine.api.fbresult.Intersection.addLocation = function(builder, locationOffset) { +osrm.engine.api.fbresult.Intersection.addLocation = function ( + builder, + locationOffset, +) { builder.addFieldStruct(0, locationOffset, 0); }; @@ -1476,7 +1816,10 @@ osrm.engine.api.fbresult.Intersection.addLocation = function(builder, locationOf * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} bearingsOffset */ -osrm.engine.api.fbresult.Intersection.addBearings = function(builder, bearingsOffset) { +osrm.engine.api.fbresult.Intersection.addBearings = function ( + builder, + bearingsOffset, +) { builder.addFieldOffset(1, bearingsOffset, 0); }; @@ -1485,9 +1828,12 @@ osrm.engine.api.fbresult.Intersection.addBearings = function(builder, bearingsOf * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Intersection.createBearingsVector = function(builder, data) { +osrm.engine.api.fbresult.Intersection.createBearingsVector = function ( + builder, + data, +) { builder.startVector(2, data.length, 2); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addInt16(data[i]); } return builder.endVector(); @@ -1497,7 +1843,10 @@ osrm.engine.api.fbresult.Intersection.createBearingsVector = function(builder, d * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Intersection.startBearingsVector = function(builder, numElems) { +osrm.engine.api.fbresult.Intersection.startBearingsVector = function ( + builder, + numElems, +) { builder.startVector(2, numElems, 2); }; @@ -1505,7 +1854,10 @@ osrm.engine.api.fbresult.Intersection.startBearingsVector = function(builder, nu * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} classesOffset */ -osrm.engine.api.fbresult.Intersection.addClasses = function(builder, classesOffset) { +osrm.engine.api.fbresult.Intersection.addClasses = function ( + builder, + classesOffset, +) { builder.addFieldOffset(2, classesOffset, 0); }; @@ -1514,9 +1866,12 @@ osrm.engine.api.fbresult.Intersection.addClasses = function(builder, classesOffs * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Intersection.createClassesVector = function(builder, data) { +osrm.engine.api.fbresult.Intersection.createClassesVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); @@ -1526,7 +1881,10 @@ osrm.engine.api.fbresult.Intersection.createClassesVector = function(builder, da * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Intersection.startClassesVector = function(builder, numElems) { +osrm.engine.api.fbresult.Intersection.startClassesVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -1534,7 +1892,10 @@ osrm.engine.api.fbresult.Intersection.startClassesVector = function(builder, num * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} entryOffset */ -osrm.engine.api.fbresult.Intersection.addEntry = function(builder, entryOffset) { +osrm.engine.api.fbresult.Intersection.addEntry = function ( + builder, + entryOffset, +) { builder.addFieldOffset(3, entryOffset, 0); }; @@ -1543,9 +1904,12 @@ osrm.engine.api.fbresult.Intersection.addEntry = function(builder, entryOffset) * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Intersection.createEntryVector = function(builder, data) { +osrm.engine.api.fbresult.Intersection.createEntryVector = function ( + builder, + data, +) { builder.startVector(1, data.length, 1); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addInt8(+data[i]); } return builder.endVector(); @@ -1555,7 +1919,10 @@ osrm.engine.api.fbresult.Intersection.createEntryVector = function(builder, data * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Intersection.startEntryVector = function(builder, numElems) { +osrm.engine.api.fbresult.Intersection.startEntryVector = function ( + builder, + numElems, +) { builder.startVector(1, numElems, 1); }; @@ -1563,7 +1930,10 @@ osrm.engine.api.fbresult.Intersection.startEntryVector = function(builder, numEl * @param {flatbuffers.Builder} builder * @param {number} inBearing */ -osrm.engine.api.fbresult.Intersection.addInBearing = function(builder, inBearing) { +osrm.engine.api.fbresult.Intersection.addInBearing = function ( + builder, + inBearing, +) { builder.addFieldInt32(4, inBearing, 0); }; @@ -1571,7 +1941,10 @@ osrm.engine.api.fbresult.Intersection.addInBearing = function(builder, inBearing * @param {flatbuffers.Builder} builder * @param {number} outBearing */ -osrm.engine.api.fbresult.Intersection.addOutBearing = function(builder, outBearing) { +osrm.engine.api.fbresult.Intersection.addOutBearing = function ( + builder, + outBearing, +) { builder.addFieldInt32(5, outBearing, 0); }; @@ -1579,7 +1952,10 @@ osrm.engine.api.fbresult.Intersection.addOutBearing = function(builder, outBeari * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} lanesOffset */ -osrm.engine.api.fbresult.Intersection.addLanes = function(builder, lanesOffset) { +osrm.engine.api.fbresult.Intersection.addLanes = function ( + builder, + lanesOffset, +) { builder.addFieldOffset(6, lanesOffset, 0); }; @@ -1588,9 +1964,12 @@ osrm.engine.api.fbresult.Intersection.addLanes = function(builder, lanesOffset) * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Intersection.createLanesVector = function(builder, data) { +osrm.engine.api.fbresult.Intersection.createLanesVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); @@ -1600,7 +1979,10 @@ osrm.engine.api.fbresult.Intersection.createLanesVector = function(builder, data * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Intersection.startLanesVector = function(builder, numElems) { +osrm.engine.api.fbresult.Intersection.startLanesVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -1608,8 +1990,8 @@ osrm.engine.api.fbresult.Intersection.startLanesVector = function(builder, numEl * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Intersection.endIntersection = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.Intersection.endIntersection = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -1624,7 +2006,16 @@ osrm.engine.api.fbresult.Intersection.endIntersection = function(builder) { * @param {flatbuffers.Offset} lanesOffset * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Intersection.createIntersection = function(builder, locationOffset, bearingsOffset, classesOffset, entryOffset, inBearing, outBearing, lanesOffset) { +osrm.engine.api.fbresult.Intersection.createIntersection = function ( + builder, + locationOffset, + bearingsOffset, + classesOffset, + entryOffset, + inBearing, + outBearing, + lanesOffset, +) { osrm.engine.api.fbresult.Intersection.startIntersection(builder); osrm.engine.api.fbresult.Intersection.addLocation(builder, locationOffset); osrm.engine.api.fbresult.Intersection.addBearings(builder, bearingsOffset); @@ -1639,7 +2030,7 @@ osrm.engine.api.fbresult.Intersection.createIntersection = function(builder, loc /** * @constructor */ -osrm.engine.api.fbresult.Step = function() { +osrm.engine.api.fbresult.Step = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -1656,7 +2047,7 @@ osrm.engine.api.fbresult.Step = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Step} */ -osrm.engine.api.fbresult.Step.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Step.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -1667,8 +2058,11 @@ osrm.engine.api.fbresult.Step.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.Step=} obj * @returns {osrm.engine.api.fbresult.Step} */ -osrm.engine.api.fbresult.Step.getRootAsStep = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Step).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Step.getRootAsStep = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Step()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -1676,23 +2070,26 @@ osrm.engine.api.fbresult.Step.getRootAsStep = function(bb, obj) { * @param {osrm.engine.api.fbresult.Step=} obj * @returns {osrm.engine.api.fbresult.Step} */ -osrm.engine.api.fbresult.Step.getSizePrefixedRootAsStep = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Step).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Step.getSizePrefixedRootAsStep = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Step()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** * @returns {number} */ -osrm.engine.api.fbresult.Step.prototype.distance = function() { - var offset = this.bb.__offset(this.bb_pos, 4); +osrm.engine.api.fbresult.Step.prototype.distance = function () { + const offset = this.bb.__offset(this.bb_pos, 4); return offset ? this.bb.readFloat32(this.bb_pos + offset) : 0.0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Step.prototype.duration = function() { - var offset = this.bb.__offset(this.bb_pos, 6); +osrm.engine.api.fbresult.Step.prototype.duration = function () { + const offset = this.bb.__offset(this.bb_pos, 6); return offset ? this.bb.readFloat32(this.bb_pos + offset) : 0.0; }; @@ -1700,9 +2097,11 @@ osrm.engine.api.fbresult.Step.prototype.duration = function() { * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Step.prototype.polyline = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 8); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Step.prototype.polyline = function (optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** @@ -1710,24 +2109,29 @@ osrm.engine.api.fbresult.Step.prototype.polyline = function(optionalEncoding) { * @param {osrm.engine.api.fbresult.Position=} obj * @returns {osrm.engine.api.fbresult.Position} */ -osrm.engine.api.fbresult.Step.prototype.coordinates = function(index, obj) { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? (obj || new osrm.engine.api.fbresult.Position).__init(this.bb.__vector(this.bb_pos + offset) + index * 8, this.bb) : null; +osrm.engine.api.fbresult.Step.prototype.coordinates = function (index, obj) { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? (obj || new osrm.engine.api.fbresult.Position()).__init( + this.bb.__vector(this.bb_pos + offset) + index * 8, + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Step.prototype.coordinatesLength = function() { - var offset = this.bb.__offset(this.bb_pos, 10); +osrm.engine.api.fbresult.Step.prototype.coordinatesLength = function () { + const offset = this.bb.__offset(this.bb_pos, 10); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Step.prototype.weight = function() { - var offset = this.bb.__offset(this.bb_pos, 12); +osrm.engine.api.fbresult.Step.prototype.weight = function () { + const offset = this.bb.__offset(this.bb_pos, 12); return offset ? this.bb.readFloat32(this.bb_pos + offset) : 0.0; }; @@ -1735,63 +2139,84 @@ osrm.engine.api.fbresult.Step.prototype.weight = function() { * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Step.prototype.name = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 14); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Step.prototype.name = function (optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Step.prototype.ref = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 16); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Step.prototype.ref = function (optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 16); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Step.prototype.pronunciation = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 18); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Step.prototype.pronunciation = function ( + optionalEncoding, +) { + const offset = this.bb.__offset(this.bb_pos, 18); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Step.prototype.destinations = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 20); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Step.prototype.destinations = function ( + optionalEncoding, +) { + const offset = this.bb.__offset(this.bb_pos, 20); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Step.prototype.exits = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 22); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Step.prototype.exits = function (optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 22); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Step.prototype.mode = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 24); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Step.prototype.mode = function (optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 24); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {osrm.engine.api.fbresult.StepManeuver=} obj * @returns {osrm.engine.api.fbresult.StepManeuver|null} */ -osrm.engine.api.fbresult.Step.prototype.maneuver = function(obj) { - var offset = this.bb.__offset(this.bb_pos, 26); - return offset ? (obj || new osrm.engine.api.fbresult.StepManeuver).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null; +osrm.engine.api.fbresult.Step.prototype.maneuver = function (obj) { + const offset = this.bb.__offset(this.bb_pos, 26); + return offset + ? (obj || new osrm.engine.api.fbresult.StepManeuver()).__init( + this.bb.__indirect(this.bb_pos + offset), + this.bb, + ) + : null; }; /** @@ -1799,16 +2224,21 @@ osrm.engine.api.fbresult.Step.prototype.maneuver = function(obj) { * @param {osrm.engine.api.fbresult.Intersection=} obj * @returns {osrm.engine.api.fbresult.Intersection} */ -osrm.engine.api.fbresult.Step.prototype.intersections = function(index, obj) { - var offset = this.bb.__offset(this.bb_pos, 28); - return offset ? (obj || new osrm.engine.api.fbresult.Intersection).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; +osrm.engine.api.fbresult.Step.prototype.intersections = function (index, obj) { + const offset = this.bb.__offset(this.bb_pos, 28); + return offset + ? (obj || new osrm.engine.api.fbresult.Intersection()).__init( + this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Step.prototype.intersectionsLength = function() { - var offset = this.bb.__offset(this.bb_pos, 28); +osrm.engine.api.fbresult.Step.prototype.intersectionsLength = function () { + const offset = this.bb.__offset(this.bb_pos, 28); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; @@ -1816,32 +2246,40 @@ osrm.engine.api.fbresult.Step.prototype.intersectionsLength = function() { * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Step.prototype.rotaryName = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 30); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Step.prototype.rotaryName = function ( + optionalEncoding, +) { + const offset = this.bb.__offset(this.bb_pos, 30); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Step.prototype.rotaryPronunciation = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 32); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Step.prototype.rotaryPronunciation = function ( + optionalEncoding, +) { + const offset = this.bb.__offset(this.bb_pos, 32); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @returns {boolean} */ -osrm.engine.api.fbresult.Step.prototype.drivingSide = function() { - var offset = this.bb.__offset(this.bb_pos, 34); +osrm.engine.api.fbresult.Step.prototype.drivingSide = function () { + const offset = this.bb.__offset(this.bb_pos, 34); return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.Step.startStep = function(builder) { +osrm.engine.api.fbresult.Step.startStep = function (builder) { builder.startObject(16); }; @@ -1849,7 +2287,7 @@ osrm.engine.api.fbresult.Step.startStep = function(builder) { * @param {flatbuffers.Builder} builder * @param {number} distance */ -osrm.engine.api.fbresult.Step.addDistance = function(builder, distance) { +osrm.engine.api.fbresult.Step.addDistance = function (builder, distance) { builder.addFieldFloat32(0, distance, 0.0); }; @@ -1857,7 +2295,7 @@ osrm.engine.api.fbresult.Step.addDistance = function(builder, distance) { * @param {flatbuffers.Builder} builder * @param {number} duration */ -osrm.engine.api.fbresult.Step.addDuration = function(builder, duration) { +osrm.engine.api.fbresult.Step.addDuration = function (builder, duration) { builder.addFieldFloat32(1, duration, 0.0); }; @@ -1865,7 +2303,7 @@ osrm.engine.api.fbresult.Step.addDuration = function(builder, duration) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} polylineOffset */ -osrm.engine.api.fbresult.Step.addPolyline = function(builder, polylineOffset) { +osrm.engine.api.fbresult.Step.addPolyline = function (builder, polylineOffset) { builder.addFieldOffset(2, polylineOffset, 0); }; @@ -1873,7 +2311,10 @@ osrm.engine.api.fbresult.Step.addPolyline = function(builder, polylineOffset) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} coordinatesOffset */ -osrm.engine.api.fbresult.Step.addCoordinates = function(builder, coordinatesOffset) { +osrm.engine.api.fbresult.Step.addCoordinates = function ( + builder, + coordinatesOffset, +) { builder.addFieldOffset(3, coordinatesOffset, 0); }; @@ -1881,7 +2322,10 @@ osrm.engine.api.fbresult.Step.addCoordinates = function(builder, coordinatesOffs * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Step.startCoordinatesVector = function(builder, numElems) { +osrm.engine.api.fbresult.Step.startCoordinatesVector = function ( + builder, + numElems, +) { builder.startVector(8, numElems, 4); }; @@ -1889,7 +2333,7 @@ osrm.engine.api.fbresult.Step.startCoordinatesVector = function(builder, numElem * @param {flatbuffers.Builder} builder * @param {number} weight */ -osrm.engine.api.fbresult.Step.addWeight = function(builder, weight) { +osrm.engine.api.fbresult.Step.addWeight = function (builder, weight) { builder.addFieldFloat32(4, weight, 0.0); }; @@ -1897,7 +2341,7 @@ osrm.engine.api.fbresult.Step.addWeight = function(builder, weight) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} nameOffset */ -osrm.engine.api.fbresult.Step.addName = function(builder, nameOffset) { +osrm.engine.api.fbresult.Step.addName = function (builder, nameOffset) { builder.addFieldOffset(5, nameOffset, 0); }; @@ -1905,7 +2349,7 @@ osrm.engine.api.fbresult.Step.addName = function(builder, nameOffset) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} refOffset */ -osrm.engine.api.fbresult.Step.addRef = function(builder, refOffset) { +osrm.engine.api.fbresult.Step.addRef = function (builder, refOffset) { builder.addFieldOffset(6, refOffset, 0); }; @@ -1913,7 +2357,10 @@ osrm.engine.api.fbresult.Step.addRef = function(builder, refOffset) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} pronunciationOffset */ -osrm.engine.api.fbresult.Step.addPronunciation = function(builder, pronunciationOffset) { +osrm.engine.api.fbresult.Step.addPronunciation = function ( + builder, + pronunciationOffset, +) { builder.addFieldOffset(7, pronunciationOffset, 0); }; @@ -1921,7 +2368,10 @@ osrm.engine.api.fbresult.Step.addPronunciation = function(builder, pronunciation * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} destinationsOffset */ -osrm.engine.api.fbresult.Step.addDestinations = function(builder, destinationsOffset) { +osrm.engine.api.fbresult.Step.addDestinations = function ( + builder, + destinationsOffset, +) { builder.addFieldOffset(8, destinationsOffset, 0); }; @@ -1929,7 +2379,7 @@ osrm.engine.api.fbresult.Step.addDestinations = function(builder, destinationsOf * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} exitsOffset */ -osrm.engine.api.fbresult.Step.addExits = function(builder, exitsOffset) { +osrm.engine.api.fbresult.Step.addExits = function (builder, exitsOffset) { builder.addFieldOffset(9, exitsOffset, 0); }; @@ -1937,7 +2387,7 @@ osrm.engine.api.fbresult.Step.addExits = function(builder, exitsOffset) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} modeOffset */ -osrm.engine.api.fbresult.Step.addMode = function(builder, modeOffset) { +osrm.engine.api.fbresult.Step.addMode = function (builder, modeOffset) { builder.addFieldOffset(10, modeOffset, 0); }; @@ -1945,7 +2395,7 @@ osrm.engine.api.fbresult.Step.addMode = function(builder, modeOffset) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} maneuverOffset */ -osrm.engine.api.fbresult.Step.addManeuver = function(builder, maneuverOffset) { +osrm.engine.api.fbresult.Step.addManeuver = function (builder, maneuverOffset) { builder.addFieldOffset(11, maneuverOffset, 0); }; @@ -1953,7 +2403,10 @@ osrm.engine.api.fbresult.Step.addManeuver = function(builder, maneuverOffset) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} intersectionsOffset */ -osrm.engine.api.fbresult.Step.addIntersections = function(builder, intersectionsOffset) { +osrm.engine.api.fbresult.Step.addIntersections = function ( + builder, + intersectionsOffset, +) { builder.addFieldOffset(12, intersectionsOffset, 0); }; @@ -1962,9 +2415,12 @@ osrm.engine.api.fbresult.Step.addIntersections = function(builder, intersections * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Step.createIntersectionsVector = function(builder, data) { +osrm.engine.api.fbresult.Step.createIntersectionsVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); @@ -1974,7 +2430,10 @@ osrm.engine.api.fbresult.Step.createIntersectionsVector = function(builder, data * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Step.startIntersectionsVector = function(builder, numElems) { +osrm.engine.api.fbresult.Step.startIntersectionsVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -1982,7 +2441,10 @@ osrm.engine.api.fbresult.Step.startIntersectionsVector = function(builder, numEl * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} rotaryNameOffset */ -osrm.engine.api.fbresult.Step.addRotaryName = function(builder, rotaryNameOffset) { +osrm.engine.api.fbresult.Step.addRotaryName = function ( + builder, + rotaryNameOffset, +) { builder.addFieldOffset(13, rotaryNameOffset, 0); }; @@ -1990,7 +2452,10 @@ osrm.engine.api.fbresult.Step.addRotaryName = function(builder, rotaryNameOffset * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} rotaryPronunciationOffset */ -osrm.engine.api.fbresult.Step.addRotaryPronunciation = function(builder, rotaryPronunciationOffset) { +osrm.engine.api.fbresult.Step.addRotaryPronunciation = function ( + builder, + rotaryPronunciationOffset, +) { builder.addFieldOffset(14, rotaryPronunciationOffset, 0); }; @@ -1998,7 +2463,7 @@ osrm.engine.api.fbresult.Step.addRotaryPronunciation = function(builder, rotaryP * @param {flatbuffers.Builder} builder * @param {boolean} drivingSide */ -osrm.engine.api.fbresult.Step.addDrivingSide = function(builder, drivingSide) { +osrm.engine.api.fbresult.Step.addDrivingSide = function (builder, drivingSide) { builder.addFieldInt8(15, +drivingSide, +false); }; @@ -2006,8 +2471,8 @@ osrm.engine.api.fbresult.Step.addDrivingSide = function(builder, drivingSide) { * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Step.endStep = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.Step.endStep = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -2031,7 +2496,25 @@ osrm.engine.api.fbresult.Step.endStep = function(builder) { * @param {boolean} drivingSide * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Step.createStep = function(builder, distance, duration, polylineOffset, coordinatesOffset, weight, nameOffset, refOffset, pronunciationOffset, destinationsOffset, exitsOffset, modeOffset, maneuverOffset, intersectionsOffset, rotaryNameOffset, rotaryPronunciationOffset, drivingSide) { +osrm.engine.api.fbresult.Step.createStep = function ( + builder, + distance, + duration, + polylineOffset, + coordinatesOffset, + weight, + nameOffset, + refOffset, + pronunciationOffset, + destinationsOffset, + exitsOffset, + modeOffset, + maneuverOffset, + intersectionsOffset, + rotaryNameOffset, + rotaryPronunciationOffset, + drivingSide, +) { osrm.engine.api.fbresult.Step.startStep(builder); osrm.engine.api.fbresult.Step.addDistance(builder, distance); osrm.engine.api.fbresult.Step.addDuration(builder, duration); @@ -2047,7 +2530,10 @@ osrm.engine.api.fbresult.Step.createStep = function(builder, distance, duration, osrm.engine.api.fbresult.Step.addManeuver(builder, maneuverOffset); osrm.engine.api.fbresult.Step.addIntersections(builder, intersectionsOffset); osrm.engine.api.fbresult.Step.addRotaryName(builder, rotaryNameOffset); - osrm.engine.api.fbresult.Step.addRotaryPronunciation(builder, rotaryPronunciationOffset); + osrm.engine.api.fbresult.Step.addRotaryPronunciation( + builder, + rotaryPronunciationOffset, + ); osrm.engine.api.fbresult.Step.addDrivingSide(builder, drivingSide); return osrm.engine.api.fbresult.Step.endStep(builder); }; @@ -2055,7 +2541,7 @@ osrm.engine.api.fbresult.Step.createStep = function(builder, distance, duration, /** * @constructor */ -osrm.engine.api.fbresult.Leg = function() { +osrm.engine.api.fbresult.Leg = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -2072,7 +2558,7 @@ osrm.engine.api.fbresult.Leg = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Leg} */ -osrm.engine.api.fbresult.Leg.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Leg.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -2083,8 +2569,11 @@ osrm.engine.api.fbresult.Leg.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.Leg=} obj * @returns {osrm.engine.api.fbresult.Leg} */ -osrm.engine.api.fbresult.Leg.getRootAsLeg = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Leg).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Leg.getRootAsLeg = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Leg()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -2092,31 +2581,34 @@ osrm.engine.api.fbresult.Leg.getRootAsLeg = function(bb, obj) { * @param {osrm.engine.api.fbresult.Leg=} obj * @returns {osrm.engine.api.fbresult.Leg} */ -osrm.engine.api.fbresult.Leg.getSizePrefixedRootAsLeg = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Leg).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Leg.getSizePrefixedRootAsLeg = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Leg()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** * @returns {number} */ -osrm.engine.api.fbresult.Leg.prototype.distance = function() { - var offset = this.bb.__offset(this.bb_pos, 4); +osrm.engine.api.fbresult.Leg.prototype.distance = function () { + const offset = this.bb.__offset(this.bb_pos, 4); return offset ? this.bb.readFloat64(this.bb_pos + offset) : 0.0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Leg.prototype.duration = function() { - var offset = this.bb.__offset(this.bb_pos, 6); +osrm.engine.api.fbresult.Leg.prototype.duration = function () { + const offset = this.bb.__offset(this.bb_pos, 6); return offset ? this.bb.readFloat64(this.bb_pos + offset) : 0.0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Leg.prototype.weight = function() { - var offset = this.bb.__offset(this.bb_pos, 8); +osrm.engine.api.fbresult.Leg.prototype.weight = function () { + const offset = this.bb.__offset(this.bb_pos, 8); return offset ? this.bb.readFloat64(this.bb_pos + offset) : 0.0; }; @@ -2124,18 +2616,25 @@ osrm.engine.api.fbresult.Leg.prototype.weight = function() { * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Leg.prototype.summary = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Leg.prototype.summary = function (optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {osrm.engine.api.fbresult.Annotation=} obj * @returns {osrm.engine.api.fbresult.Annotation|null} */ -osrm.engine.api.fbresult.Leg.prototype.annotations = function(obj) { - var offset = this.bb.__offset(this.bb_pos, 12); - return offset ? (obj || new osrm.engine.api.fbresult.Annotation).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null; +osrm.engine.api.fbresult.Leg.prototype.annotations = function (obj) { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset + ? (obj || new osrm.engine.api.fbresult.Annotation()).__init( + this.bb.__indirect(this.bb_pos + offset), + this.bb, + ) + : null; }; /** @@ -2143,23 +2642,28 @@ osrm.engine.api.fbresult.Leg.prototype.annotations = function(obj) { * @param {osrm.engine.api.fbresult.Step=} obj * @returns {osrm.engine.api.fbresult.Step} */ -osrm.engine.api.fbresult.Leg.prototype.steps = function(index, obj) { - var offset = this.bb.__offset(this.bb_pos, 14); - return offset ? (obj || new osrm.engine.api.fbresult.Step).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; +osrm.engine.api.fbresult.Leg.prototype.steps = function (index, obj) { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset + ? (obj || new osrm.engine.api.fbresult.Step()).__init( + this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Leg.prototype.stepsLength = function() { - var offset = this.bb.__offset(this.bb_pos, 14); +osrm.engine.api.fbresult.Leg.prototype.stepsLength = function () { + const offset = this.bb.__offset(this.bb_pos, 14); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.Leg.startLeg = function(builder) { +osrm.engine.api.fbresult.Leg.startLeg = function (builder) { builder.startObject(6); }; @@ -2167,7 +2671,7 @@ osrm.engine.api.fbresult.Leg.startLeg = function(builder) { * @param {flatbuffers.Builder} builder * @param {number} distance */ -osrm.engine.api.fbresult.Leg.addDistance = function(builder, distance) { +osrm.engine.api.fbresult.Leg.addDistance = function (builder, distance) { builder.addFieldFloat64(0, distance, 0.0); }; @@ -2175,7 +2679,7 @@ osrm.engine.api.fbresult.Leg.addDistance = function(builder, distance) { * @param {flatbuffers.Builder} builder * @param {number} duration */ -osrm.engine.api.fbresult.Leg.addDuration = function(builder, duration) { +osrm.engine.api.fbresult.Leg.addDuration = function (builder, duration) { builder.addFieldFloat64(1, duration, 0.0); }; @@ -2183,7 +2687,7 @@ osrm.engine.api.fbresult.Leg.addDuration = function(builder, duration) { * @param {flatbuffers.Builder} builder * @param {number} weight */ -osrm.engine.api.fbresult.Leg.addWeight = function(builder, weight) { +osrm.engine.api.fbresult.Leg.addWeight = function (builder, weight) { builder.addFieldFloat64(2, weight, 0.0); }; @@ -2191,7 +2695,7 @@ osrm.engine.api.fbresult.Leg.addWeight = function(builder, weight) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} summaryOffset */ -osrm.engine.api.fbresult.Leg.addSummary = function(builder, summaryOffset) { +osrm.engine.api.fbresult.Leg.addSummary = function (builder, summaryOffset) { builder.addFieldOffset(3, summaryOffset, 0); }; @@ -2199,7 +2703,10 @@ osrm.engine.api.fbresult.Leg.addSummary = function(builder, summaryOffset) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} annotationsOffset */ -osrm.engine.api.fbresult.Leg.addAnnotations = function(builder, annotationsOffset) { +osrm.engine.api.fbresult.Leg.addAnnotations = function ( + builder, + annotationsOffset, +) { builder.addFieldOffset(4, annotationsOffset, 0); }; @@ -2207,7 +2714,7 @@ osrm.engine.api.fbresult.Leg.addAnnotations = function(builder, annotationsOffse * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} stepsOffset */ -osrm.engine.api.fbresult.Leg.addSteps = function(builder, stepsOffset) { +osrm.engine.api.fbresult.Leg.addSteps = function (builder, stepsOffset) { builder.addFieldOffset(5, stepsOffset, 0); }; @@ -2216,9 +2723,9 @@ osrm.engine.api.fbresult.Leg.addSteps = function(builder, stepsOffset) { * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Leg.createStepsVector = function(builder, data) { +osrm.engine.api.fbresult.Leg.createStepsVector = function (builder, data) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); @@ -2228,7 +2735,7 @@ osrm.engine.api.fbresult.Leg.createStepsVector = function(builder, data) { * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Leg.startStepsVector = function(builder, numElems) { +osrm.engine.api.fbresult.Leg.startStepsVector = function (builder, numElems) { builder.startVector(4, numElems, 4); }; @@ -2236,8 +2743,8 @@ osrm.engine.api.fbresult.Leg.startStepsVector = function(builder, numElems) { * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Leg.endLeg = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.Leg.endLeg = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -2251,7 +2758,15 @@ osrm.engine.api.fbresult.Leg.endLeg = function(builder) { * @param {flatbuffers.Offset} stepsOffset * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Leg.createLeg = function(builder, distance, duration, weight, summaryOffset, annotationsOffset, stepsOffset) { +osrm.engine.api.fbresult.Leg.createLeg = function ( + builder, + distance, + duration, + weight, + summaryOffset, + annotationsOffset, + stepsOffset, +) { osrm.engine.api.fbresult.Leg.startLeg(builder); osrm.engine.api.fbresult.Leg.addDistance(builder, distance); osrm.engine.api.fbresult.Leg.addDuration(builder, duration); @@ -2265,7 +2780,7 @@ osrm.engine.api.fbresult.Leg.createLeg = function(builder, distance, duration, w /** * @constructor */ -osrm.engine.api.fbresult.RouteObject = function() { +osrm.engine.api.fbresult.RouteObject = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -2282,7 +2797,7 @@ osrm.engine.api.fbresult.RouteObject = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.RouteObject} */ -osrm.engine.api.fbresult.RouteObject.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.RouteObject.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -2293,8 +2808,11 @@ osrm.engine.api.fbresult.RouteObject.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.RouteObject=} obj * @returns {osrm.engine.api.fbresult.RouteObject} */ -osrm.engine.api.fbresult.RouteObject.getRootAsRouteObject = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.RouteObject).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.RouteObject.getRootAsRouteObject = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.RouteObject()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -2302,31 +2820,35 @@ osrm.engine.api.fbresult.RouteObject.getRootAsRouteObject = function(bb, obj) { * @param {osrm.engine.api.fbresult.RouteObject=} obj * @returns {osrm.engine.api.fbresult.RouteObject} */ -osrm.engine.api.fbresult.RouteObject.getSizePrefixedRootAsRouteObject = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.RouteObject).__init(bb.readInt32(bb.position()) + bb.position(), bb); -}; +osrm.engine.api.fbresult.RouteObject.getSizePrefixedRootAsRouteObject = + function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.RouteObject()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + }; /** * @returns {number} */ -osrm.engine.api.fbresult.RouteObject.prototype.distance = function() { - var offset = this.bb.__offset(this.bb_pos, 4); +osrm.engine.api.fbresult.RouteObject.prototype.distance = function () { + const offset = this.bb.__offset(this.bb_pos, 4); return offset ? this.bb.readFloat32(this.bb_pos + offset) : 0.0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.RouteObject.prototype.duration = function() { - var offset = this.bb.__offset(this.bb_pos, 6); +osrm.engine.api.fbresult.RouteObject.prototype.duration = function () { + const offset = this.bb.__offset(this.bb_pos, 6); return offset ? this.bb.readFloat32(this.bb_pos + offset) : 0.0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.RouteObject.prototype.weight = function() { - var offset = this.bb.__offset(this.bb_pos, 8); +osrm.engine.api.fbresult.RouteObject.prototype.weight = function () { + const offset = this.bb.__offset(this.bb_pos, 8); return offset ? this.bb.readFloat32(this.bb_pos + offset) : 0.0; }; @@ -2334,16 +2856,20 @@ osrm.engine.api.fbresult.RouteObject.prototype.weight = function() { * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.RouteObject.prototype.weightName = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.RouteObject.prototype.weightName = function ( + optionalEncoding, +) { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.RouteObject.prototype.confidence = function() { - var offset = this.bb.__offset(this.bb_pos, 12); +osrm.engine.api.fbresult.RouteObject.prototype.confidence = function () { + const offset = this.bb.__offset(this.bb_pos, 12); return offset ? this.bb.readFloat32(this.bb_pos + offset) : 0.0; }; @@ -2351,9 +2877,13 @@ osrm.engine.api.fbresult.RouteObject.prototype.confidence = function() { * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.RouteObject.prototype.polyline = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 14); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.RouteObject.prototype.polyline = function ( + optionalEncoding, +) { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** @@ -2361,16 +2891,24 @@ osrm.engine.api.fbresult.RouteObject.prototype.polyline = function(optionalEncod * @param {osrm.engine.api.fbresult.Position=} obj * @returns {osrm.engine.api.fbresult.Position} */ -osrm.engine.api.fbresult.RouteObject.prototype.coordinates = function(index, obj) { - var offset = this.bb.__offset(this.bb_pos, 16); - return offset ? (obj || new osrm.engine.api.fbresult.Position).__init(this.bb.__vector(this.bb_pos + offset) + index * 8, this.bb) : null; +osrm.engine.api.fbresult.RouteObject.prototype.coordinates = function ( + index, + obj, +) { + const offset = this.bb.__offset(this.bb_pos, 16); + return offset + ? (obj || new osrm.engine.api.fbresult.Position()).__init( + this.bb.__vector(this.bb_pos + offset) + index * 8, + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.RouteObject.prototype.coordinatesLength = function() { - var offset = this.bb.__offset(this.bb_pos, 16); +osrm.engine.api.fbresult.RouteObject.prototype.coordinatesLength = function () { + const offset = this.bb.__offset(this.bb_pos, 16); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; @@ -2379,23 +2917,28 @@ osrm.engine.api.fbresult.RouteObject.prototype.coordinatesLength = function() { * @param {osrm.engine.api.fbresult.Leg=} obj * @returns {osrm.engine.api.fbresult.Leg} */ -osrm.engine.api.fbresult.RouteObject.prototype.legs = function(index, obj) { - var offset = this.bb.__offset(this.bb_pos, 18); - return offset ? (obj || new osrm.engine.api.fbresult.Leg).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; +osrm.engine.api.fbresult.RouteObject.prototype.legs = function (index, obj) { + const offset = this.bb.__offset(this.bb_pos, 18); + return offset + ? (obj || new osrm.engine.api.fbresult.Leg()).__init( + this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.RouteObject.prototype.legsLength = function() { - var offset = this.bb.__offset(this.bb_pos, 18); +osrm.engine.api.fbresult.RouteObject.prototype.legsLength = function () { + const offset = this.bb.__offset(this.bb_pos, 18); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.RouteObject.startRouteObject = function(builder) { +osrm.engine.api.fbresult.RouteObject.startRouteObject = function (builder) { builder.startObject(8); }; @@ -2403,7 +2946,10 @@ osrm.engine.api.fbresult.RouteObject.startRouteObject = function(builder) { * @param {flatbuffers.Builder} builder * @param {number} distance */ -osrm.engine.api.fbresult.RouteObject.addDistance = function(builder, distance) { +osrm.engine.api.fbresult.RouteObject.addDistance = function ( + builder, + distance, +) { builder.addFieldFloat32(0, distance, 0.0); }; @@ -2411,7 +2957,10 @@ osrm.engine.api.fbresult.RouteObject.addDistance = function(builder, distance) { * @param {flatbuffers.Builder} builder * @param {number} duration */ -osrm.engine.api.fbresult.RouteObject.addDuration = function(builder, duration) { +osrm.engine.api.fbresult.RouteObject.addDuration = function ( + builder, + duration, +) { builder.addFieldFloat32(1, duration, 0.0); }; @@ -2419,7 +2968,7 @@ osrm.engine.api.fbresult.RouteObject.addDuration = function(builder, duration) { * @param {flatbuffers.Builder} builder * @param {number} weight */ -osrm.engine.api.fbresult.RouteObject.addWeight = function(builder, weight) { +osrm.engine.api.fbresult.RouteObject.addWeight = function (builder, weight) { builder.addFieldFloat32(2, weight, 0.0); }; @@ -2427,7 +2976,10 @@ osrm.engine.api.fbresult.RouteObject.addWeight = function(builder, weight) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} weightNameOffset */ -osrm.engine.api.fbresult.RouteObject.addWeightName = function(builder, weightNameOffset) { +osrm.engine.api.fbresult.RouteObject.addWeightName = function ( + builder, + weightNameOffset, +) { builder.addFieldOffset(3, weightNameOffset, 0); }; @@ -2435,7 +2987,10 @@ osrm.engine.api.fbresult.RouteObject.addWeightName = function(builder, weightNam * @param {flatbuffers.Builder} builder * @param {number} confidence */ -osrm.engine.api.fbresult.RouteObject.addConfidence = function(builder, confidence) { +osrm.engine.api.fbresult.RouteObject.addConfidence = function ( + builder, + confidence, +) { builder.addFieldFloat32(4, confidence, 0.0); }; @@ -2443,7 +2998,10 @@ osrm.engine.api.fbresult.RouteObject.addConfidence = function(builder, confidenc * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} polylineOffset */ -osrm.engine.api.fbresult.RouteObject.addPolyline = function(builder, polylineOffset) { +osrm.engine.api.fbresult.RouteObject.addPolyline = function ( + builder, + polylineOffset, +) { builder.addFieldOffset(5, polylineOffset, 0); }; @@ -2451,7 +3009,10 @@ osrm.engine.api.fbresult.RouteObject.addPolyline = function(builder, polylineOff * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} coordinatesOffset */ -osrm.engine.api.fbresult.RouteObject.addCoordinates = function(builder, coordinatesOffset) { +osrm.engine.api.fbresult.RouteObject.addCoordinates = function ( + builder, + coordinatesOffset, +) { builder.addFieldOffset(6, coordinatesOffset, 0); }; @@ -2459,7 +3020,10 @@ osrm.engine.api.fbresult.RouteObject.addCoordinates = function(builder, coordina * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.RouteObject.startCoordinatesVector = function(builder, numElems) { +osrm.engine.api.fbresult.RouteObject.startCoordinatesVector = function ( + builder, + numElems, +) { builder.startVector(8, numElems, 4); }; @@ -2467,7 +3031,7 @@ osrm.engine.api.fbresult.RouteObject.startCoordinatesVector = function(builder, * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} legsOffset */ -osrm.engine.api.fbresult.RouteObject.addLegs = function(builder, legsOffset) { +osrm.engine.api.fbresult.RouteObject.addLegs = function (builder, legsOffset) { builder.addFieldOffset(7, legsOffset, 0); }; @@ -2476,9 +3040,12 @@ osrm.engine.api.fbresult.RouteObject.addLegs = function(builder, legsOffset) { * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.RouteObject.createLegsVector = function(builder, data) { +osrm.engine.api.fbresult.RouteObject.createLegsVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); @@ -2488,7 +3055,10 @@ osrm.engine.api.fbresult.RouteObject.createLegsVector = function(builder, data) * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.RouteObject.startLegsVector = function(builder, numElems) { +osrm.engine.api.fbresult.RouteObject.startLegsVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -2496,8 +3066,8 @@ osrm.engine.api.fbresult.RouteObject.startLegsVector = function(builder, numElem * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.RouteObject.endRouteObject = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.RouteObject.endRouteObject = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -2513,7 +3083,17 @@ osrm.engine.api.fbresult.RouteObject.endRouteObject = function(builder) { * @param {flatbuffers.Offset} legsOffset * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.RouteObject.createRouteObject = function(builder, distance, duration, weight, weightNameOffset, confidence, polylineOffset, coordinatesOffset, legsOffset) { +osrm.engine.api.fbresult.RouteObject.createRouteObject = function ( + builder, + distance, + duration, + weight, + weightNameOffset, + confidence, + polylineOffset, + coordinatesOffset, + legsOffset, +) { osrm.engine.api.fbresult.RouteObject.startRouteObject(builder); osrm.engine.api.fbresult.RouteObject.addDistance(builder, distance); osrm.engine.api.fbresult.RouteObject.addDuration(builder, duration); @@ -2521,7 +3101,10 @@ osrm.engine.api.fbresult.RouteObject.createRouteObject = function(builder, dista osrm.engine.api.fbresult.RouteObject.addWeightName(builder, weightNameOffset); osrm.engine.api.fbresult.RouteObject.addConfidence(builder, confidence); osrm.engine.api.fbresult.RouteObject.addPolyline(builder, polylineOffset); - osrm.engine.api.fbresult.RouteObject.addCoordinates(builder, coordinatesOffset); + osrm.engine.api.fbresult.RouteObject.addCoordinates( + builder, + coordinatesOffset, + ); osrm.engine.api.fbresult.RouteObject.addLegs(builder, legsOffset); return osrm.engine.api.fbresult.RouteObject.endRouteObject(builder); }; @@ -2529,7 +3112,7 @@ osrm.engine.api.fbresult.RouteObject.createRouteObject = function(builder, dista /** * @constructor */ -osrm.engine.api.fbresult.Table = function() { +osrm.engine.api.fbresult.Table = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -2546,7 +3129,7 @@ osrm.engine.api.fbresult.Table = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Table} */ -osrm.engine.api.fbresult.Table.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Table.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -2557,8 +3140,11 @@ osrm.engine.api.fbresult.Table.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.Table=} obj * @returns {osrm.engine.api.fbresult.Table} */ -osrm.engine.api.fbresult.Table.getRootAsTable = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Table).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Table.getRootAsTable = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Table()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -2566,48 +3152,59 @@ osrm.engine.api.fbresult.Table.getRootAsTable = function(bb, obj) { * @param {osrm.engine.api.fbresult.Table=} obj * @returns {osrm.engine.api.fbresult.Table} */ -osrm.engine.api.fbresult.Table.getSizePrefixedRootAsTable = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Table).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Table.getSizePrefixedRootAsTable = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Table()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** * @param {number} index * @returns {number} */ -osrm.engine.api.fbresult.Table.prototype.durations = function(index) { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; +osrm.engine.api.fbresult.Table.prototype.durations = function (index) { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) + : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Table.prototype.durationsLength = function() { - var offset = this.bb.__offset(this.bb_pos, 4); +osrm.engine.api.fbresult.Table.prototype.durationsLength = function () { + const offset = this.bb.__offset(this.bb_pos, 4); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Float32Array} */ -osrm.engine.api.fbresult.Table.prototype.durationsArray = function() { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Table.prototype.durationsArray = function () { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? new Float32Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Table.prototype.rows = function() { - var offset = this.bb.__offset(this.bb_pos, 6); +osrm.engine.api.fbresult.Table.prototype.rows = function () { + const offset = this.bb.__offset(this.bb_pos, 6); return offset ? this.bb.readUint16(this.bb_pos + offset) : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Table.prototype.cols = function() { - var offset = this.bb.__offset(this.bb_pos, 8); +osrm.engine.api.fbresult.Table.prototype.cols = function () { + const offset = this.bb.__offset(this.bb_pos, 8); return offset ? this.bb.readUint16(this.bb_pos + offset) : 0; }; @@ -2615,25 +3212,33 @@ osrm.engine.api.fbresult.Table.prototype.cols = function() { * @param {number} index * @returns {number} */ -osrm.engine.api.fbresult.Table.prototype.distances = function(index) { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; +osrm.engine.api.fbresult.Table.prototype.distances = function (index) { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) + : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Table.prototype.distancesLength = function() { - var offset = this.bb.__offset(this.bb_pos, 10); +osrm.engine.api.fbresult.Table.prototype.distancesLength = function () { + const offset = this.bb.__offset(this.bb_pos, 10); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; /** * @returns {Float32Array} */ -osrm.engine.api.fbresult.Table.prototype.distancesArray = function() { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Table.prototype.distancesArray = function () { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? new Float32Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** @@ -2641,16 +3246,21 @@ osrm.engine.api.fbresult.Table.prototype.distancesArray = function() { * @param {osrm.engine.api.fbresult.Waypoint=} obj * @returns {osrm.engine.api.fbresult.Waypoint} */ -osrm.engine.api.fbresult.Table.prototype.destinations = function(index, obj) { - var offset = this.bb.__offset(this.bb_pos, 12); - return offset ? (obj || new osrm.engine.api.fbresult.Waypoint).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; +osrm.engine.api.fbresult.Table.prototype.destinations = function (index, obj) { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset + ? (obj || new osrm.engine.api.fbresult.Waypoint()).__init( + this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Table.prototype.destinationsLength = function() { - var offset = this.bb.__offset(this.bb_pos, 12); +osrm.engine.api.fbresult.Table.prototype.destinationsLength = function () { + const offset = this.bb.__offset(this.bb_pos, 12); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; @@ -2658,31 +3268,40 @@ osrm.engine.api.fbresult.Table.prototype.destinationsLength = function() { * @param {number} index * @returns {number} */ -osrm.engine.api.fbresult.Table.prototype.fallbackSpeedCells = function(index) { - var offset = this.bb.__offset(this.bb_pos, 14); - return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; +osrm.engine.api.fbresult.Table.prototype.fallbackSpeedCells = function (index) { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset + ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) + : 0; }; /** * @returns {number} */ -osrm.engine.api.fbresult.Table.prototype.fallbackSpeedCellsLength = function() { - var offset = this.bb.__offset(this.bb_pos, 14); - return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; -}; +osrm.engine.api.fbresult.Table.prototype.fallbackSpeedCellsLength = + function () { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + }; /** * @returns {Uint32Array} */ -osrm.engine.api.fbresult.Table.prototype.fallbackSpeedCellsArray = function() { - var offset = this.bb.__offset(this.bb_pos, 14); - return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; +osrm.engine.api.fbresult.Table.prototype.fallbackSpeedCellsArray = function () { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset + ? new Uint32Array( + this.bb.bytes().buffer, + this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), + this.bb.__vector_len(this.bb_pos + offset), + ) + : null; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.Table.startTable = function(builder) { +osrm.engine.api.fbresult.Table.startTable = function (builder) { builder.startObject(6); }; @@ -2690,7 +3309,10 @@ osrm.engine.api.fbresult.Table.startTable = function(builder) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} durationsOffset */ -osrm.engine.api.fbresult.Table.addDurations = function(builder, durationsOffset) { +osrm.engine.api.fbresult.Table.addDurations = function ( + builder, + durationsOffset, +) { builder.addFieldOffset(0, durationsOffset, 0); }; @@ -2699,9 +3321,12 @@ osrm.engine.api.fbresult.Table.addDurations = function(builder, durationsOffset) * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Table.createDurationsVector = function(builder, data) { +osrm.engine.api.fbresult.Table.createDurationsVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addFloat32(data[i]); } return builder.endVector(); @@ -2711,7 +3336,10 @@ osrm.engine.api.fbresult.Table.createDurationsVector = function(builder, data) { * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Table.startDurationsVector = function(builder, numElems) { +osrm.engine.api.fbresult.Table.startDurationsVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -2719,7 +3347,7 @@ osrm.engine.api.fbresult.Table.startDurationsVector = function(builder, numElems * @param {flatbuffers.Builder} builder * @param {number} rows */ -osrm.engine.api.fbresult.Table.addRows = function(builder, rows) { +osrm.engine.api.fbresult.Table.addRows = function (builder, rows) { builder.addFieldInt16(1, rows, 0); }; @@ -2727,7 +3355,7 @@ osrm.engine.api.fbresult.Table.addRows = function(builder, rows) { * @param {flatbuffers.Builder} builder * @param {number} cols */ -osrm.engine.api.fbresult.Table.addCols = function(builder, cols) { +osrm.engine.api.fbresult.Table.addCols = function (builder, cols) { builder.addFieldInt16(2, cols, 0); }; @@ -2735,7 +3363,10 @@ osrm.engine.api.fbresult.Table.addCols = function(builder, cols) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} distancesOffset */ -osrm.engine.api.fbresult.Table.addDistances = function(builder, distancesOffset) { +osrm.engine.api.fbresult.Table.addDistances = function ( + builder, + distancesOffset, +) { builder.addFieldOffset(3, distancesOffset, 0); }; @@ -2744,9 +3375,12 @@ osrm.engine.api.fbresult.Table.addDistances = function(builder, distancesOffset) * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Table.createDistancesVector = function(builder, data) { +osrm.engine.api.fbresult.Table.createDistancesVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addFloat32(data[i]); } return builder.endVector(); @@ -2756,7 +3390,10 @@ osrm.engine.api.fbresult.Table.createDistancesVector = function(builder, data) { * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Table.startDistancesVector = function(builder, numElems) { +osrm.engine.api.fbresult.Table.startDistancesVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -2764,7 +3401,10 @@ osrm.engine.api.fbresult.Table.startDistancesVector = function(builder, numElems * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} destinationsOffset */ -osrm.engine.api.fbresult.Table.addDestinations = function(builder, destinationsOffset) { +osrm.engine.api.fbresult.Table.addDestinations = function ( + builder, + destinationsOffset, +) { builder.addFieldOffset(4, destinationsOffset, 0); }; @@ -2773,9 +3413,12 @@ osrm.engine.api.fbresult.Table.addDestinations = function(builder, destinationsO * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Table.createDestinationsVector = function(builder, data) { +osrm.engine.api.fbresult.Table.createDestinationsVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); @@ -2785,7 +3428,10 @@ osrm.engine.api.fbresult.Table.createDestinationsVector = function(builder, data * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Table.startDestinationsVector = function(builder, numElems) { +osrm.engine.api.fbresult.Table.startDestinationsVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -2793,7 +3439,10 @@ osrm.engine.api.fbresult.Table.startDestinationsVector = function(builder, numEl * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} fallbackSpeedCellsOffset */ -osrm.engine.api.fbresult.Table.addFallbackSpeedCells = function(builder, fallbackSpeedCellsOffset) { +osrm.engine.api.fbresult.Table.addFallbackSpeedCells = function ( + builder, + fallbackSpeedCellsOffset, +) { builder.addFieldOffset(5, fallbackSpeedCellsOffset, 0); }; @@ -2802,9 +3451,12 @@ osrm.engine.api.fbresult.Table.addFallbackSpeedCells = function(builder, fallbac * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Table.createFallbackSpeedCellsVector = function(builder, data) { +osrm.engine.api.fbresult.Table.createFallbackSpeedCellsVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addInt32(data[i]); } return builder.endVector(); @@ -2814,7 +3466,10 @@ osrm.engine.api.fbresult.Table.createFallbackSpeedCellsVector = function(builder * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.Table.startFallbackSpeedCellsVector = function(builder, numElems) { +osrm.engine.api.fbresult.Table.startFallbackSpeedCellsVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -2822,8 +3477,8 @@ osrm.engine.api.fbresult.Table.startFallbackSpeedCellsVector = function(builder, * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Table.endTable = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.Table.endTable = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -2837,21 +3492,32 @@ osrm.engine.api.fbresult.Table.endTable = function(builder) { * @param {flatbuffers.Offset} fallbackSpeedCellsOffset * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Table.createTable = function(builder, durationsOffset, rows, cols, distancesOffset, destinationsOffset, fallbackSpeedCellsOffset) { +osrm.engine.api.fbresult.Table.createTable = function ( + builder, + durationsOffset, + rows, + cols, + distancesOffset, + destinationsOffset, + fallbackSpeedCellsOffset, +) { osrm.engine.api.fbresult.Table.startTable(builder); osrm.engine.api.fbresult.Table.addDurations(builder, durationsOffset); osrm.engine.api.fbresult.Table.addRows(builder, rows); osrm.engine.api.fbresult.Table.addCols(builder, cols); osrm.engine.api.fbresult.Table.addDistances(builder, distancesOffset); osrm.engine.api.fbresult.Table.addDestinations(builder, destinationsOffset); - osrm.engine.api.fbresult.Table.addFallbackSpeedCells(builder, fallbackSpeedCellsOffset); + osrm.engine.api.fbresult.Table.addFallbackSpeedCells( + builder, + fallbackSpeedCellsOffset, + ); return osrm.engine.api.fbresult.Table.endTable(builder); }; /** * @constructor */ -osrm.engine.api.fbresult.Error = function() { +osrm.engine.api.fbresult.Error = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -2868,7 +3534,7 @@ osrm.engine.api.fbresult.Error = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.Error} */ -osrm.engine.api.fbresult.Error.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.Error.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -2879,8 +3545,11 @@ osrm.engine.api.fbresult.Error.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.Error=} obj * @returns {osrm.engine.api.fbresult.Error} */ -osrm.engine.api.fbresult.Error.getRootAsError = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Error).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Error.getRootAsError = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Error()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -2888,32 +3557,39 @@ osrm.engine.api.fbresult.Error.getRootAsError = function(bb, obj) { * @param {osrm.engine.api.fbresult.Error=} obj * @returns {osrm.engine.api.fbresult.Error} */ -osrm.engine.api.fbresult.Error.getSizePrefixedRootAsError = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.Error).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.Error.getSizePrefixedRootAsError = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.Error()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Error.prototype.code = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Error.prototype.code = function (optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.Error.prototype.message = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 6); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.Error.prototype.message = function (optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.Error.startError = function(builder) { +osrm.engine.api.fbresult.Error.startError = function (builder) { builder.startObject(2); }; @@ -2921,7 +3597,7 @@ osrm.engine.api.fbresult.Error.startError = function(builder) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} codeOffset */ -osrm.engine.api.fbresult.Error.addCode = function(builder, codeOffset) { +osrm.engine.api.fbresult.Error.addCode = function (builder, codeOffset) { builder.addFieldOffset(0, codeOffset, 0); }; @@ -2929,7 +3605,7 @@ osrm.engine.api.fbresult.Error.addCode = function(builder, codeOffset) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} messageOffset */ -osrm.engine.api.fbresult.Error.addMessage = function(builder, messageOffset) { +osrm.engine.api.fbresult.Error.addMessage = function (builder, messageOffset) { builder.addFieldOffset(1, messageOffset, 0); }; @@ -2937,8 +3613,8 @@ osrm.engine.api.fbresult.Error.addMessage = function(builder, messageOffset) { * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Error.endError = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.Error.endError = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -2948,7 +3624,11 @@ osrm.engine.api.fbresult.Error.endError = function(builder) { * @param {flatbuffers.Offset} messageOffset * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.Error.createError = function(builder, codeOffset, messageOffset) { +osrm.engine.api.fbresult.Error.createError = function ( + builder, + codeOffset, + messageOffset, +) { osrm.engine.api.fbresult.Error.startError(builder); osrm.engine.api.fbresult.Error.addCode(builder, codeOffset); osrm.engine.api.fbresult.Error.addMessage(builder, messageOffset); @@ -2958,7 +3638,7 @@ osrm.engine.api.fbresult.Error.createError = function(builder, codeOffset, messa /** * @constructor */ -osrm.engine.api.fbresult.FBResult = function() { +osrm.engine.api.fbresult.FBResult = function () { /** * @type {flatbuffers.ByteBuffer} */ @@ -2975,7 +3655,7 @@ osrm.engine.api.fbresult.FBResult = function() { * @param {flatbuffers.ByteBuffer} bb * @returns {osrm.engine.api.fbresult.FBResult} */ -osrm.engine.api.fbresult.FBResult.prototype.__init = function(i, bb) { +osrm.engine.api.fbresult.FBResult.prototype.__init = function (i, bb) { this.bb_pos = i; this.bb = bb; return this; @@ -2986,8 +3666,11 @@ osrm.engine.api.fbresult.FBResult.prototype.__init = function(i, bb) { * @param {osrm.engine.api.fbresult.FBResult=} obj * @returns {osrm.engine.api.fbresult.FBResult} */ -osrm.engine.api.fbresult.FBResult.getRootAsFBResult = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.FBResult).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.FBResult.getRootAsFBResult = function (bb, obj) { + return (obj || new osrm.engine.api.fbresult.FBResult()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** @@ -2995,15 +3678,21 @@ osrm.engine.api.fbresult.FBResult.getRootAsFBResult = function(bb, obj) { * @param {osrm.engine.api.fbresult.FBResult=} obj * @returns {osrm.engine.api.fbresult.FBResult} */ -osrm.engine.api.fbresult.FBResult.getSizePrefixedRootAsFBResult = function(bb, obj) { - return (obj || new osrm.engine.api.fbresult.FBResult).__init(bb.readInt32(bb.position()) + bb.position(), bb); +osrm.engine.api.fbresult.FBResult.getSizePrefixedRootAsFBResult = function ( + bb, + obj, +) { + return (obj || new osrm.engine.api.fbresult.FBResult()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); }; /** * @returns {boolean} */ -osrm.engine.api.fbresult.FBResult.prototype.error = function() { - var offset = this.bb.__offset(this.bb_pos, 4); +osrm.engine.api.fbresult.FBResult.prototype.error = function () { + const offset = this.bb.__offset(this.bb_pos, 4); return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false; }; @@ -3011,18 +3700,27 @@ osrm.engine.api.fbresult.FBResult.prototype.error = function() { * @param {osrm.engine.api.fbresult.Error=} obj * @returns {osrm.engine.api.fbresult.Error|null} */ -osrm.engine.api.fbresult.FBResult.prototype.code = function(obj) { - var offset = this.bb.__offset(this.bb_pos, 6); - return offset ? (obj || new osrm.engine.api.fbresult.Error).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null; +osrm.engine.api.fbresult.FBResult.prototype.code = function (obj) { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset + ? (obj || new osrm.engine.api.fbresult.Error()).__init( + this.bb.__indirect(this.bb_pos + offset), + this.bb, + ) + : null; }; /** * @param {flatbuffers.Encoding=} optionalEncoding * @returns {string|Uint8Array|null} */ -osrm.engine.api.fbresult.FBResult.prototype.dataVersion = function(optionalEncoding) { - var offset = this.bb.__offset(this.bb_pos, 8); - return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; +osrm.engine.api.fbresult.FBResult.prototype.dataVersion = function ( + optionalEncoding, +) { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset + ? this.bb.__string(this.bb_pos + offset, optionalEncoding) + : null; }; /** @@ -3030,16 +3728,21 @@ osrm.engine.api.fbresult.FBResult.prototype.dataVersion = function(optionalEncod * @param {osrm.engine.api.fbresult.Waypoint=} obj * @returns {osrm.engine.api.fbresult.Waypoint} */ -osrm.engine.api.fbresult.FBResult.prototype.waypoints = function(index, obj) { - var offset = this.bb.__offset(this.bb_pos, 10); - return offset ? (obj || new osrm.engine.api.fbresult.Waypoint).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; +osrm.engine.api.fbresult.FBResult.prototype.waypoints = function (index, obj) { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset + ? (obj || new osrm.engine.api.fbresult.Waypoint()).__init( + this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.FBResult.prototype.waypointsLength = function() { - var offset = this.bb.__offset(this.bb_pos, 10); +osrm.engine.api.fbresult.FBResult.prototype.waypointsLength = function () { + const offset = this.bb.__offset(this.bb_pos, 10); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; @@ -3048,16 +3751,21 @@ osrm.engine.api.fbresult.FBResult.prototype.waypointsLength = function() { * @param {osrm.engine.api.fbresult.RouteObject=} obj * @returns {osrm.engine.api.fbresult.RouteObject} */ -osrm.engine.api.fbresult.FBResult.prototype.routes = function(index, obj) { - var offset = this.bb.__offset(this.bb_pos, 12); - return offset ? (obj || new osrm.engine.api.fbresult.RouteObject).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; +osrm.engine.api.fbresult.FBResult.prototype.routes = function (index, obj) { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset + ? (obj || new osrm.engine.api.fbresult.RouteObject()).__init( + this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), + this.bb, + ) + : null; }; /** * @returns {number} */ -osrm.engine.api.fbresult.FBResult.prototype.routesLength = function() { - var offset = this.bb.__offset(this.bb_pos, 12); +osrm.engine.api.fbresult.FBResult.prototype.routesLength = function () { + const offset = this.bb.__offset(this.bb_pos, 12); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; }; @@ -3065,15 +3773,20 @@ osrm.engine.api.fbresult.FBResult.prototype.routesLength = function() { * @param {osrm.engine.api.fbresult.Table=} obj * @returns {osrm.engine.api.fbresult.Table|null} */ -osrm.engine.api.fbresult.FBResult.prototype.table = function(obj) { - var offset = this.bb.__offset(this.bb_pos, 14); - return offset ? (obj || new osrm.engine.api.fbresult.Table).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null; +osrm.engine.api.fbresult.FBResult.prototype.table = function (obj) { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset + ? (obj || new osrm.engine.api.fbresult.Table()).__init( + this.bb.__indirect(this.bb_pos + offset), + this.bb, + ) + : null; }; /** * @param {flatbuffers.Builder} builder */ -osrm.engine.api.fbresult.FBResult.startFBResult = function(builder) { +osrm.engine.api.fbresult.FBResult.startFBResult = function (builder) { builder.startObject(6); }; @@ -3081,7 +3794,7 @@ osrm.engine.api.fbresult.FBResult.startFBResult = function(builder) { * @param {flatbuffers.Builder} builder * @param {boolean} error */ -osrm.engine.api.fbresult.FBResult.addError = function(builder, error) { +osrm.engine.api.fbresult.FBResult.addError = function (builder, error) { builder.addFieldInt8(0, +error, +false); }; @@ -3089,7 +3802,7 @@ osrm.engine.api.fbresult.FBResult.addError = function(builder, error) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} codeOffset */ -osrm.engine.api.fbresult.FBResult.addCode = function(builder, codeOffset) { +osrm.engine.api.fbresult.FBResult.addCode = function (builder, codeOffset) { builder.addFieldOffset(1, codeOffset, 0); }; @@ -3097,7 +3810,10 @@ osrm.engine.api.fbresult.FBResult.addCode = function(builder, codeOffset) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} dataVersionOffset */ -osrm.engine.api.fbresult.FBResult.addDataVersion = function(builder, dataVersionOffset) { +osrm.engine.api.fbresult.FBResult.addDataVersion = function ( + builder, + dataVersionOffset, +) { builder.addFieldOffset(2, dataVersionOffset, 0); }; @@ -3105,7 +3821,10 @@ osrm.engine.api.fbresult.FBResult.addDataVersion = function(builder, dataVersion * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} waypointsOffset */ -osrm.engine.api.fbresult.FBResult.addWaypoints = function(builder, waypointsOffset) { +osrm.engine.api.fbresult.FBResult.addWaypoints = function ( + builder, + waypointsOffset, +) { builder.addFieldOffset(3, waypointsOffset, 0); }; @@ -3114,9 +3833,12 @@ osrm.engine.api.fbresult.FBResult.addWaypoints = function(builder, waypointsOffs * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.FBResult.createWaypointsVector = function(builder, data) { +osrm.engine.api.fbresult.FBResult.createWaypointsVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); @@ -3126,7 +3848,10 @@ osrm.engine.api.fbresult.FBResult.createWaypointsVector = function(builder, data * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.FBResult.startWaypointsVector = function(builder, numElems) { +osrm.engine.api.fbresult.FBResult.startWaypointsVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -3134,7 +3859,7 @@ osrm.engine.api.fbresult.FBResult.startWaypointsVector = function(builder, numEl * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} routesOffset */ -osrm.engine.api.fbresult.FBResult.addRoutes = function(builder, routesOffset) { +osrm.engine.api.fbresult.FBResult.addRoutes = function (builder, routesOffset) { builder.addFieldOffset(4, routesOffset, 0); }; @@ -3143,9 +3868,12 @@ osrm.engine.api.fbresult.FBResult.addRoutes = function(builder, routesOffset) { * @param {Array.} data * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.FBResult.createRoutesVector = function(builder, data) { +osrm.engine.api.fbresult.FBResult.createRoutesVector = function ( + builder, + data, +) { builder.startVector(4, data.length, 4); - for (var i = data.length - 1; i >= 0; i--) { + for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); @@ -3155,7 +3883,10 @@ osrm.engine.api.fbresult.FBResult.createRoutesVector = function(builder, data) { * @param {flatbuffers.Builder} builder * @param {number} numElems */ -osrm.engine.api.fbresult.FBResult.startRoutesVector = function(builder, numElems) { +osrm.engine.api.fbresult.FBResult.startRoutesVector = function ( + builder, + numElems, +) { builder.startVector(4, numElems, 4); }; @@ -3163,7 +3894,7 @@ osrm.engine.api.fbresult.FBResult.startRoutesVector = function(builder, numElems * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} tableOffset */ -osrm.engine.api.fbresult.FBResult.addTable = function(builder, tableOffset) { +osrm.engine.api.fbresult.FBResult.addTable = function (builder, tableOffset) { builder.addFieldOffset(5, tableOffset, 0); }; @@ -3171,8 +3902,8 @@ osrm.engine.api.fbresult.FBResult.addTable = function(builder, tableOffset) { * @param {flatbuffers.Builder} builder * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.FBResult.endFBResult = function(builder) { - var offset = builder.endObject(); +osrm.engine.api.fbresult.FBResult.endFBResult = function (builder) { + const offset = builder.endObject(); return offset; }; @@ -3180,7 +3911,10 @@ osrm.engine.api.fbresult.FBResult.endFBResult = function(builder) { * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} offset */ -osrm.engine.api.fbresult.FBResult.finishFBResultBuffer = function(builder, offset) { +osrm.engine.api.fbresult.FBResult.finishFBResultBuffer = function ( + builder, + offset, +) { builder.finish(offset); }; @@ -3188,7 +3922,10 @@ osrm.engine.api.fbresult.FBResult.finishFBResultBuffer = function(builder, offse * @param {flatbuffers.Builder} builder * @param {flatbuffers.Offset} offset */ -osrm.engine.api.fbresult.FBResult.finishSizePrefixedFBResultBuffer = function(builder, offset) { +osrm.engine.api.fbresult.FBResult.finishSizePrefixedFBResultBuffer = function ( + builder, + offset, +) { builder.finish(offset, undefined, true); }; @@ -3202,7 +3939,15 @@ osrm.engine.api.fbresult.FBResult.finishSizePrefixedFBResultBuffer = function(bu * @param {flatbuffers.Offset} tableOffset * @returns {flatbuffers.Offset} */ -osrm.engine.api.fbresult.FBResult.createFBResult = function(builder, error, codeOffset, dataVersionOffset, waypointsOffset, routesOffset, tableOffset) { +osrm.engine.api.fbresult.FBResult.createFBResult = function ( + builder, + error, + codeOffset, + dataVersionOffset, + waypointsOffset, + routesOffset, + tableOffset, +) { osrm.engine.api.fbresult.FBResult.startFBResult(builder); osrm.engine.api.fbresult.FBResult.addError(builder, error); osrm.engine.api.fbresult.FBResult.addCode(builder, codeOffset); diff --git a/features/support/hooks.js b/features/support/hooks.js index df3ef39390..e3f57334d7 100644 --- a/features/support/hooks.js +++ b/features/support/hooks.js @@ -4,7 +4,7 @@ import { BeforeAll, Before, After, AfterAll } from '@cucumber/cucumber'; // Import the custom World constructor (registers itself via setWorldConstructor) import './world.js'; -BeforeAll(function (callback) { +BeforeAll((callback) => { callback(); }); @@ -18,6 +18,6 @@ After(function (testCase, callback) { this.cleanup(callback); }); -AfterAll(function (callback) { +AfterAll((callback) => { callback(); }); diff --git a/features/support/http.js b/features/support/http.js index 8e9cb410d4..0b74e24bd9 100644 --- a/features/support/http.js +++ b/features/support/http.js @@ -37,13 +37,16 @@ export default class Http { if (params.coordinates !== undefined) { // FIXME this disables passing the output if its a default // Remove after #2173 is fixed. - const outputString = (params.output && params.output !== 'json') ? ('.' + params.output) : ''; + const outputString = + params.output && params.output !== 'json' ? `.${params.output}` : ''; paramString = params.coordinates.join(';') + outputString; delete params.coordinates; delete params.output; } if (Object.keys(params).length) { - paramString += '?' + Object.keys(params).map(k => k + '=' + params[k]).join('&'); + paramString += `?${Object.keys(params) + .map((k) => `${k}=${params[k]}`) + .join('&')}`; } return paramString; @@ -51,11 +54,10 @@ export default class Http { // FIXME this needs to be simplified! sendRequest(baseUri, parameters, callback) { - const limit = Timeout(this.TIMEOUT, { err: { statusCode: 408 } }); const runRequest = (cb) => { const params = this.paramsToString(parameters); - this.query = baseUri + (params.length ? '/' + params : ''); + this.query = baseUri + (params.length ? `/${params}` : ''); httpRequest(this.query, (err, res, body) => { if (err && err.code === 'ECONNREFUSED') { @@ -67,14 +69,16 @@ export default class Http { }); }; - runRequest(limit((err, res, body) => { - if (err) { - if (err.statusCode === 408) - return callback(new Error('*** osrm-routed did not respond')); - else if (err.code === 'ECONNREFUSED') - return callback(new Error('*** osrm-routed is not running')); - } - return callback(err, res, body); - })); + runRequest( + limit((err, res, body) => { + if (err) { + if (err.statusCode === 408) + return callback(new Error('*** osrm-routed did not respond')); + else if (err.code === 'ECONNREFUSED') + return callback(new Error('*** osrm-routed is not running')); + } + return callback(err, res, body); + }), + ); } } diff --git a/features/support/route.js b/features/support/route.js index 7083ad7a45..abc156c524 100644 --- a/features/support/route.js +++ b/features/support/route.js @@ -18,7 +18,7 @@ export default class Route { } requestUrl(path, callback) { - const uri = this.query = [this.HOST, path].join('/'); + const uri = (this.query = [this.HOST, path].join('/')); this.sendRequest(uri, '', callback); } @@ -31,17 +31,23 @@ export default class Route { } encodeWaypoints(waypoints) { - return waypoints.map(w => [w.lon, w.lat].map(ensureDecimal).join(',')); + return waypoints.map((w) => [w.lon, w.lat].map(ensureDecimal).join(',')); } requestRoute(waypoints, bearings, approaches, userParams, callback) { - if (bearings.length && bearings.length !== waypoints.length) throw new Error('*** number of bearings does not equal the number of waypoints'); - if (approaches.length && approaches.length !== waypoints.length) throw new Error('*** number of approaches does not equal the number of waypoints'); + if (bearings.length && bearings.length !== waypoints.length) + throw new Error( + '*** number of bearings does not equal the number of waypoints', + ); + if (approaches.length && approaches.length !== waypoints.length) + throw new Error( + '*** number of approaches does not equal the number of waypoints', + ); const defaults = { output: 'json', steps: 'true', - alternatives: 'false' + alternatives: 'false', }, params = this.overwriteParams(defaults, userParams), encodedWaypoints = this.encodeWaypoints(waypoints); @@ -49,11 +55,13 @@ export default class Route { params.coordinates = encodedWaypoints; if (bearings.length) { - params.bearings = bearings.map(b => { - const bs = b.split(','); - if (bs.length === 2) return b; - else return b += ',10'; - }).join(';'); + params.bearings = bearings + .map((b) => { + const bs = b.split(','); + if (bs.length === 2) return b; + else return (b += ',10'); + }) + .join(';'); } if (approaches.length) { @@ -64,7 +72,7 @@ export default class Route { requestNearest(node, userParams, callback) { const defaults = { - output: 'json' + output: 'json', }, params = this.overwriteParams(defaults, userParams); params.coordinates = [[node.lon, node.lat].join(',')]; @@ -74,13 +82,21 @@ export default class Route { requestTable(waypoints, userParams, callback) { const defaults = { - output: 'json' + output: 'json', }, params = this.overwriteParams(defaults, userParams); - params.coordinates = waypoints.map(w => [w.coord.lon, w.coord.lat].join(',')); - const srcs = waypoints.map((w, i) => [w.type, i]).filter(w => w[0] === 'src').map(w => w[1]), - dsts = waypoints.map((w, i) => [w.type, i]).filter(w => w[0] === 'dst').map(w => w[1]); + params.coordinates = waypoints.map((w) => + [w.coord.lon, w.coord.lat].join(','), + ); + const srcs = waypoints + .map((w, i) => [w.type, i]) + .filter((w) => w[0] === 'src') + .map((w) => w[1]), + dsts = waypoints + .map((w, i) => [w.type, i]) + .filter((w) => w[0] === 'dst') + .map((w) => w[1]); if (srcs.length) params.sources = srcs.join(';'); if (dsts.length) params.destinations = dsts.join(';'); @@ -90,7 +106,7 @@ export default class Route { requestTrip(waypoints, userParams, callback) { const defaults = { output: 'json', - steps: 'true' + steps: 'true', }, params = this.overwriteParams(defaults, userParams); @@ -101,7 +117,7 @@ export default class Route { requestMatching(waypoints, timestamps, userParams, callback) { const defaults = { - output: 'json' + output: 'json', }, params = this.overwriteParams(defaults, userParams); @@ -116,7 +132,8 @@ export default class Route { extractInstructionList(instructions, keyFinder) { if (instructions) { - return instructions.legs.reduce((m, v) => m.concat(v.steps), []) + return instructions.legs + .reduce((m, v) => m.concat(v.steps), []) .map(keyFinder) .join(','); } @@ -124,87 +141,108 @@ export default class Route { summary(instructions) { if (instructions) { - return instructions.legs.map(l => l.summary).join(';'); + return instructions.legs.map((l) => l.summary).join(';'); } } wayList(instructions) { - return this.extractInstructionList(instructions, s => s.name); + return this.extractInstructionList(instructions, (s) => s.name); } refList(instructions) { - return this.extractInstructionList(instructions, s => s.ref || ''); + return this.extractInstructionList(instructions, (s) => s.ref || ''); } pronunciationList(instructions) { - return this.extractInstructionList(instructions, s => s.pronunciation || ''); + return this.extractInstructionList( + instructions, + (s) => s.pronunciation || '', + ); } destinationsList(instructions) { - return this.extractInstructionList(instructions, s => s.destinations || ''); + return this.extractInstructionList( + instructions, + (s) => s.destinations || '', + ); } exitsList(instructions) { - return this.extractInstructionList(instructions, s => s.exits || ''); + return this.extractInstructionList(instructions, (s) => s.exits || ''); } reverseBearing(bearing) { - if (bearing >= 180) - return bearing - 180.; + if (bearing >= 180) return bearing - 180; return bearing + 180; } bearingList(instructions) { - return this.extractInstructionList(instructions, s => ('in' in s.intersections[0] ? this.reverseBearing(s.intersections[0].bearings[s.intersections[0].in]) : 0) - + '->' + - ('out' in s.intersections[0] ? s.intersections[0].bearings[s.intersections[0].out] : 0)); + return this.extractInstructionList( + instructions, + (s) => + `${ + 'in' in s.intersections[0] + ? this.reverseBearing( + s.intersections[0].bearings[s.intersections[0].in], + ) + : 0 + }->${ + 'out' in s.intersections[0] + ? s.intersections[0].bearings[s.intersections[0].out] + : 0 + }`, + ); } lanesList(instructions) { - return this.extractInstructionList(instructions, s => { - return s.intersections.map( i => { - if(i.lanes) - { - return i.lanes.map( l => { - let indications = l.indications.join(';'); - return indications + ':' + (l.valid ? 'true' : 'false'); - }).join(' '); - } - else - { - return ''; - } - }).join(';'); + return this.extractInstructionList(instructions, (s) => { + return s.intersections + .map((i) => { + if (i.lanes) { + return i.lanes + .map((l) => { + const indications = l.indications.join(';'); + return `${indications}:${l.valid ? 'true' : 'false'}`; + }) + .join(' '); + } else { + return ''; + } + }) + .join(';'); }); } approachList(instructions) { - return this.extractInstructionList(instructions, s => s.approaches || ''); + return this.extractInstructionList(instructions, (s) => s.approaches || ''); } annotationList(instructions) { - if (!('annotation' in instructions.legs[0])) - return ''; + if (!('annotation' in instructions.legs[0])) return ''; const merged = {}; - instructions.legs.map(l => { - Object.keys(l.annotation).filter(a => !a.match(/metadata/)).forEach(a => { - if (!merged[a]) merged[a] = []; - merged[a].push(l.annotation[a].join(':')); - }); + instructions.legs.map((l) => { + Object.keys(l.annotation) + .filter((a) => !a.match(/metadata/)) + .forEach((a) => { + if (!merged[a]) merged[a] = []; + merged[a].push(l.annotation[a].join(':')); + }); if (l.annotation.metadata) { merged.metadata = {}; - Object.keys(l.annotation.metadata).forEach(a => { + Object.keys(l.annotation.metadata).forEach((a) => { if (!merged.metadata[a]) merged.metadata[a] = []; merged.metadata[a].push(l.annotation.metadata[a].join(':')); }); } }); - Object.keys(merged).filter(k => !k.match(/metadata/)).map(a => { - merged[a] = merged[a].join(','); - }); + Object.keys(merged) + .filter((k) => !k.match(/metadata/)) + .map((a) => { + merged[a] = merged[a].join(','); + }); if (merged.metadata) { - Object.keys(merged.metadata).map(a => { + Object.keys(merged.metadata).map((a) => { merged.metadata[a] = merged.metadata[a].join(','); }); } @@ -213,75 +251,86 @@ export default class Route { alternativesList(instructions) { // alternatives_count come from tracepoints list - return instructions.tracepoints.map(t => t.alternatives_count.toString()).join(','); + return instructions.tracepoints + .map((t) => t.alternatives_count.toString()) + .join(','); } turnList(instructions) { - return instructions.legs.reduce((m, v) => m.concat(v.steps), []) - .map(v => { + return instructions.legs + .reduce((m, v) => m.concat(v.steps), []) + .map((v) => { switch (v.maneuver.type) { case 'depart': case 'arrive': return v.maneuver.type; case 'on ramp': case 'off ramp': - return v.maneuver.type + ' ' + v.maneuver.modifier; + return `${v.maneuver.type} ${v.maneuver.modifier}`; case 'roundabout': - return 'roundabout-exit-' + v.maneuver.exit; + return `roundabout-exit-${v.maneuver.exit}`; case 'rotary': - if( 'rotary_name' in v ) - return v.rotary_name + '-exit-' + v.maneuver.exit; - else - return 'rotary-exit-' + v.maneuver.exit; + if ('rotary_name' in v) + return `${v.rotary_name}-exit-${v.maneuver.exit}`; + else return `rotary-exit-${v.maneuver.exit}`; case 'roundabout turn': - return v.maneuver.type + ' ' + v.maneuver.modifier + ' exit-' + v.maneuver.exit; + return `${v.maneuver.type} ${v.maneuver.modifier} exit-${v.maneuver.exit}`; // FIXME this is a little bit over-simplistic for merge/fork instructions default: - return v.maneuver.type + ' ' + v.maneuver.modifier; + return `${v.maneuver.type} ${v.maneuver.modifier}`; } }) .join(','); } locations(instructions) { - return instructions.legs.reduce((m, v) => m.concat(v.steps), []) - .map(v => { + return instructions.legs + .reduce((m, v) => m.concat(v.steps), []) + .map((v) => { return this.findNodeByLocation(v.maneuver.location); }) .join(','); } intersectionList(instructions) { - return instructions.legs.reduce((m, v) => m.concat(v.steps), []) - .map( v => { + return instructions.legs + .reduce((m, v) => m.concat(v.steps), []) + .map((v) => { return v.intersections - .map( intersection => { - let string = intersection.entry[0]+':'+intersection.bearings[0], i; - for( i = 1; i < intersection.bearings.length; ++i ) - string = string + ' ' + intersection.entry[i]+':'+intersection.bearings[i]; + .map((intersection) => { + let string = `${intersection.entry[0]}:${intersection.bearings[0]}`, + i; + for (i = 1; i < intersection.bearings.length; ++i) + string = `${string} ${intersection.entry[i]}:${intersection.bearings[i]}`; return string; - }).join(','); - }).join(';'); + }) + .join(','); + }) + .join(';'); } modeList(instructions) { - return this.extractInstructionList(instructions, s => s.mode); + return this.extractInstructionList(instructions, (s) => s.mode); } drivingSideList(instructions) { - return this.extractInstructionList(instructions, s => s.driving_side); + return this.extractInstructionList(instructions, (s) => s.driving_side); } classesList(instructions) { - return this.extractInstructionList(instructions, s => '[' + s.intersections.map(i => '(' + (i.classes ? i.classes.join(',') : '') + ')').join(',') + ']'); + return this.extractInstructionList( + instructions, + (s) => + `[${s.intersections.map((i) => `(${i.classes ? i.classes.join(',') : ''})`).join(',')}]`, + ); } timeList(instructions) { - return this.extractInstructionList(instructions, s => s.duration + 's'); + return this.extractInstructionList(instructions, (s) => `${s.duration}s`); } distanceList(instructions) { - return this.extractInstructionList(instructions, s => s.distance + 'm'); + return this.extractInstructionList(instructions, (s) => `${s.distance}m`); } weightName(instructions) { @@ -289,6 +338,6 @@ export default class Route { } weightList(instructions) { - return this.extractInstructionList(instructions, s => s.weight); + return this.extractInstructionList(instructions, (s) => s.weight); } } diff --git a/features/support/run.js b/features/support/run.js index 2688f27f44..0b428908e1 100644 --- a/features/support/run.js +++ b/features/support/run.js @@ -12,17 +12,17 @@ export default class Run { // replaces placeholders for in user supplied commands expandOptions(options) { let opts = options.slice(); - let table = { + const table = { '{osm_file}': this.inputCacheFile, '{processed_file}': this.processedCacheFile, '{profile_file}': this.profileFile, '{rastersource_file}': this.rasterCacheFile, '{speeds_file}': this.speedsCacheFile, '{penalties_file}': this.penaltiesCacheFile, - '{timezone_names}': this.TIMEZONE_NAMES + '{timezone_names}': this.TIMEZONE_NAMES, }; - for (let k in table) { + for (const k in table) { opts = opts.replace(k, table[k]); } @@ -35,28 +35,39 @@ export default class Run { process.stderr.removeListener('data', process.logFunc); } - process.logFunc = (message) => { log.write(message); }; + process.logFunc = (message) => { + log.write(message); + }; process.stdout.on('data', process.logFunc); process.stderr.on('data', process.logFunc); } runBin(bin, options, env, callback) { - let cmd = path.resolve(util.format('%s/%s%s', this.BIN_PATH, bin, this.EXE)); - let opts = options.split(' ').filter((x) => { return x && x.length > 0; }); - let log = fs.createWriteStream(this.scenarioLogFile, {'flags': 'a'}); + const cmd = path.resolve( + util.format('%s/%s%s', this.BIN_PATH, bin, this.EXE), + ); + const opts = options.split(' ').filter((x) => { + return x && x.length > 0; + }); + const log = fs.createWriteStream(this.scenarioLogFile, { flags: 'a' }); log.write(util.format('*** running %s %s\n', cmd, options)); - + // we need to set a large maxbuffer here because we have long running processes like osrm-routed // with lots of log output - let child = child_process.execFile(cmd, opts, {maxBuffer: 1024 * 1024 * 1000, env: env}, (err, stdout, stderr) => { - log.end(); - callback(err, stdout, stderr); - }); - - child.on('exit', function(code) { + const child = child_process.execFile( + cmd, + opts, + { maxBuffer: 1024 * 1024 * 1000, env }, + (err, stdout, stderr) => { + log.end(); + callback(err, stdout, stderr); + }, + ); + + child.on('exit', (code) => { log.write(util.format('*** %s exited with code %d\n', bin, code)); }); - + // Don't setup output logging as it interferes with execFile's output capture // this.setupOutputLog(child, log); return child; diff --git a/features/support/shared_steps.js b/features/support/shared_steps.js index 393509c578..acfeb8060d 100644 --- a/features/support/shared_steps.js +++ b/features/support/shared_steps.js @@ -37,15 +37,32 @@ export default class SharedSteps { const afterRequest = (err, res, body) => { if (err) return cb(err); if (body && body.length) { - let destinations, exits, pronunciations, instructions, refs, bearings, turns, modes, times, classes, - distances, summary, intersections, lanes, locations, annotation, weight_name, weights, approaches, + let destinations, + exits, + pronunciations, + instructions, + refs, + bearings, + turns, + modes, + times, + classes, + distances, + summary, + intersections, + lanes, + locations, + annotation, + weight_name, + weights, + approaches, driving_sides; - let json = JSON.parse(body); + const json = JSON.parse(body); got.code = json.code; - let hasRoute = json.code === 'Ok'; + const hasRoute = json.code === 'Ok'; if (hasRoute) { instructions = this.wayList(json.routes[0]); @@ -101,7 +118,7 @@ export default class SharedSteps { if (headers.has('alternative')) { // TODO examine more than first alternative? - got.alternative =''; + got.alternative = ''; if (json.routes && json.routes.length > 1) got.alternative = this.wayList(json.routes[1]); } @@ -113,7 +130,11 @@ export default class SharedSteps { if (headers.has('distance')) { if (row.distance.length) { if (!row.distance.match(/\d+m/)) - return cb(new Error('*** Distance must be specified in meters. (ex: 250m)')); + return cb( + new Error( + '*** Distance must be specified in meters. (ex: 250m)', + ), + ); got.distance = instructions ? util.format('%dm', distance) : ''; } else { got.distance = ''; @@ -123,7 +144,11 @@ export default class SharedSteps { if (headers.has('weight')) { if (row.weight.length) { if (!row.weight.match(/[\d.]+/)) - return cb(new Error('*** Weight must be specified as a numeric value. (ex: 8)')); + return cb( + new Error( + '*** Weight must be specified as a numeric value. (ex: 8)', + ), + ); got.weight = instructions ? util.format('%d', weight) : ''; } else { got.weight = ''; @@ -132,7 +157,9 @@ export default class SharedSteps { if (headers.has('time')) { if (!row.time.match(/\d+s/)) - return cb(new Error('*** Time must be specied in seconds. (ex: 60s)')); + return cb( + new Error('*** Time must be specied in seconds. (ex: 60s)'), + ); got.time = instructions ? util.format('%ds', time) : ''; } @@ -143,8 +170,13 @@ export default class SharedSteps { if (headers.has('speed')) { if (row.speed !== '' && instructions) { if (!row.speed.match(/\d+ km\/h/)) - cb(new Error('*** Speed must be specied in km/h. (ex: 50 km/h)')); - const speed = time > 0 ? Math.round(3.6*distance/time) : null; + cb( + new Error( + '*** Speed must be specied in km/h. (ex: 50 km/h)', + ), + ); + const speed = + time > 0 ? Math.round((3.6 * distance) / time) : null; got.speed = util.format('%d km/h', speed); } else { got.speed = ''; @@ -155,13 +187,13 @@ export default class SharedSteps { got.intersections = (intersections || '').trim(); } - if (headers.has('locations')){ + if (headers.has('locations')) { got.locations = (locations || '').trim(); } if (headers.has('waypoints_count')) { if ('waypoints' in json) { got.waypoints_count = json.waypoints.length; - } else{ + } else { got.waypoints_count = 0; } } @@ -172,22 +204,40 @@ export default class SharedSteps { // if header matches 'a:*', parse out the values for * // and return in that header headers.forEach((k) => { - let whitelist = ['duration', 'distance', 'datasources', 'nodes', 'weight', 'speed' ]; - let metadata_whitelist = [ 'datasource_names' ]; + const whitelist = [ + 'duration', + 'distance', + 'datasources', + 'nodes', + 'weight', + 'speed', + ]; + const metadata_whitelist = ['datasource_names']; if (k.match(/^a:/)) { - let a_type = k.slice(2); + const a_type = k.slice(2); if (whitelist.indexOf(a_type) == -1) return cb(new Error('Unrecognized annotation field', a_type)); if (annotation && !annotation[a_type]) - return cb(new Error('Annotation not found in response', a_type)); - got[k] = annotation && annotation[a_type] || ''; + return cb( + new Error('Annotation not found in response', a_type), + ); + got[k] = (annotation && annotation[a_type]) || ''; } else if (k.match(/^am:/)) { - let a_type = k.slice(3); + const a_type = k.slice(3); if (metadata_whitelist.indexOf(a_type) == -1) return cb(new Error('Unrecognized annotation field', a_type)); - if (annotation && (!annotation.metadata || !annotation.metadata[a_type])) - return cb(new Error('Annotation not found in response', a_type)); - got[k] = (annotation && annotation.metadata && annotation.metadata[a_type]) || ''; + if ( + annotation && + (!annotation.metadata || !annotation.metadata[a_type]) + ) + return cb( + new Error('Annotation not found in response', a_type), + ); + got[k] = + (annotation && + annotation.metadata && + annotation.metadata[a_type]) || + ''; } }); @@ -251,34 +301,57 @@ export default class SharedSteps { if (row.bearings) { got.bearings = row.bearings; - bearings = row.bearings.split(' ').filter(b => !!b); + bearings = row.bearings.split(' ').filter((b) => !!b); } if (row.approaches) { got.approaches = row.approaches; - approaches = row.approaches.split(' ').filter(b => !!b); + approaches = row.approaches.split(' ').filter((b) => !!b); } if (row.from && row.to) { const fromNode = this.findNodeByName(row.from); - if (!fromNode) return cb(new Error(util.format('*** unknown from-node "%s"', row.from))); + if (!fromNode) + return cb( + new Error(util.format('*** unknown from-node "%s"', row.from)), + ); waypoints.push(fromNode); const toNode = this.findNodeByName(row.to); - if (!toNode) return cb(new Error(util.format('*** unknown to-node "%s"', row.to))); + if (!toNode) + return cb( + new Error(util.format('*** unknown to-node "%s"', row.to)), + ); waypoints.push(toNode); got.from = row.from; got.to = row.to; - this.requestRoute(waypoints, bearings, approaches, params, afterRequest); + this.requestRoute( + waypoints, + bearings, + approaches, + params, + afterRequest, + ); } else if (row.waypoints) { row.waypoints.split(',').forEach((n) => { const node = this.findNodeByName(n.trim()); - if (!node) return cb(new Error(util.format('*** unknown waypoint node "%s"', n.trim()))); + if (!node) + return cb( + new Error( + util.format('*** unknown waypoint node "%s"', n.trim()), + ), + ); waypoints.push(node); }); got.waypoints = row.waypoints; - this.requestRoute(waypoints, bearings, approaches, params, afterRequest); + this.requestRoute( + waypoints, + bearings, + approaches, + params, + afterRequest, + ); } else { return cb(new Error('*** no waypoints')); } @@ -288,4 +361,4 @@ export default class SharedSteps { this.processRowsAndDiff(table, requestRow, callback); }); } -}; +} diff --git a/features/support/world.js b/features/support/world.js index b4c7a49f29..fc8a5408b9 100644 --- a/features/support/world.js +++ b/features/support/world.js @@ -18,7 +18,7 @@ import Fuzzy from './fuzzy.js'; import SharedSteps from './shared_steps.js'; // Global flags for initialization -let collectedFeatures = new Set(); // Collect unique features from testCases +const collectedFeatures = new Set(); // Collect unique features from testCases class OSRMWorld extends World { // Private instances of support classes for clean composition @@ -78,7 +78,7 @@ class OSRMWorld extends World { if (name !== 'constructor' && typeof service[name] === 'function') { this[name] = service[name].bind(this); } - } + }, ); }); } @@ -136,7 +136,7 @@ class OSRMWorld extends World { // Collect features from testCases collectedFeatures.add(testCase.pickle.uri); - let queue = d3.queue(1); + const queue = d3.queue(1); queue.defer(this.initializeEnv); queue.defer(this.verifyOSRMIsNotRunning); queue.defer(this.verifyExistenceOfBinaries); @@ -156,7 +156,7 @@ class OSRMWorld extends World { setupCurrentScenario(testCase, callback) { this.profile = this.OSRM_PROFILE || this.DEFAULT_PROFILE; - this.profileFile = path.join(this.PROFILES_PATH, this.profile + '.lua'); + this.profileFile = path.join(this.PROFILES_PATH, `${this.profile}.lua`); this.osrmLoader.setLoadMethod(this.DEFAULT_LOAD_METHOD); this.setGridSize(this.DEFAULT_GRID_SIZE); this.setOrigin(this.DEFAULT_ORIGIN); @@ -177,12 +177,12 @@ class OSRMWorld extends World { this.setupScenarioCache(this.scenarioID); // Setup output logging - let logDir = path.join(this.LOGS_PATH, this.featureID || 'default'); - this.scenarioLogFile = path.join(logDir, this.scenarioID) + '.log'; + const logDir = path.join(this.LOGS_PATH, this.featureID || 'default'); + this.scenarioLogFile = `${path.join(logDir, this.scenarioID)}.log`; d3.queue(1) .defer(createDir, logDir) .defer((callback) => - fs.rm(this.scenarioLogFile, { force: true }, callback) + fs.rm(this.scenarioLogFile, { force: true }, callback), ) .awaitAll(callback); } diff --git a/package-lock.json b/package-lock.json index 09ad073b8c..02b4c3fe3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,8 +26,8 @@ "ansi-escape-sequences": "6.2.4", "babelify": "^10.0.0", "browserify": "17.0.1", - "chalk": "^1.1.3", - "cheap-ruler": "^3.0.2", + "chalk": "^5.6.0", + "cheap-ruler": "^4.0.0", "command-line-args": "6.0.1", "command-line-usage": "7.0.3", "csv-stringify": "6.5.2", @@ -37,7 +37,9 @@ "eslint": "9.26.0", "faucet": "^0.0.4", "flatbuffers": "24.3.25", + "husky": "^9.1.7", "jsonpath": "^1.1.1", + "lint-staged": "^16.1.6", "node-addon-api": "8.3.1", "node-cmake": "^2.5.1", "tape": "5.9.0", @@ -45,29 +47,17 @@ "xmlbuilder": "15.1.1" }, "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "node": ">=20.0.0" } }, "node_modules/@babel/cli": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.2.tgz", - "integrity": "sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.28.3.tgz", + "integrity": "sha512-n1RU5vuCX0CsaqaXm9I0KUCNKNQMy5epmzl/xdSSm70bSqhg9GWhgeosypyQLc0bK24+Xpk1WGzZlI9pJtkZdg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", + "@jridgewell/trace-mapping": "^0.3.28", "commander": "^6.2.0", "convert-source-map": "^2.0.0", "fs-readdir-recursive": "^1.1.0", @@ -128,9 +118,9 @@ "license": "MIT" }, "node_modules/@babel/compat-data": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz", - "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", "dev": true, "license": "MIT", "engines": { @@ -138,22 +128,22 @@ } }, "node_modules/@babel/core": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", - "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", + "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helpers": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/template": "^7.27.1", - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.4", + "@babel/types": "^7.28.4", + "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -216,35 +206,22 @@ } }, "node_modules/@babel/generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", - "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.27.1", - "@babel/types": "^7.27.1", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/generator/node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -259,13 +236,13 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.27.1" + "@babel/types": "^7.27.3" }, "engines": { "node": ">=6.9.0" @@ -316,18 +293,18 @@ "license": "ISC" }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", - "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-member-expression-to-functions": "^7.27.1", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.27.1", + "@babel/traverse": "^7.28.3", "semver": "^6.3.1" }, "engines": { @@ -427,26 +404,26 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", - "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" + "resolve": "^1.22.10" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -468,6 +445,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", @@ -497,15 +484,15 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", - "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -633,27 +620,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", - "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", - "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.27.1" + "@babel/types": "^7.28.4" }, "bin": { "parser": "bin/babel-parser.js" @@ -730,14 +717,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", - "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -841,15 +828,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz", - "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -893,9 +880,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz", - "integrity": "sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz", + "integrity": "sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==", "dev": true, "license": "MIT", "dependencies": { @@ -926,13 +913,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", - "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.28.3", "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { @@ -943,18 +930,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz", - "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "globals": "^11.1.0" + "@babel/traverse": "^7.28.4" }, "engines": { "node": ">=6.9.0" @@ -963,16 +950,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", @@ -991,13 +968,14 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz", - "integrity": "sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1072,6 +1050,23 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", @@ -1339,16 +1334,17 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz", - "integrity": "sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.1" + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" }, "engines": { "node": ">=6.9.0" @@ -1408,9 +1404,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz", - "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==", + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "dev": true, "license": "MIT", "dependencies": { @@ -1544,9 +1540,9 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz", - "integrity": "sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", "dev": true, "license": "MIT", "dependencies": { @@ -1741,13 +1737,13 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz", - "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz", + "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", @@ -1755,25 +1751,26 @@ "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-import-assertions": "^7.27.1", "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", "@babel/plugin-transform-async-to-generator": "^7.27.1", "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.0", "@babel/plugin-transform-class-properties": "^7.27.1", - "@babel/plugin-transform-class-static-block": "^7.27.1", - "@babel/plugin-transform-classes": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.3", "@babel/plugin-transform-computed-properties": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", "@babel/plugin-transform-dotall-regex": "^7.27.1", "@babel/plugin-transform-duplicate-keys": "^7.27.1", "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", "@babel/plugin-transform-exponentiation-operator": "^7.27.1", "@babel/plugin-transform-export-namespace-from": "^7.27.1", "@babel/plugin-transform-for-of": "^7.27.1", @@ -1790,15 +1787,15 @@ "@babel/plugin-transform-new-target": "^7.27.1", "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.27.2", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", "@babel/plugin-transform-object-super": "^7.27.1", "@babel/plugin-transform-optional-catch-binding": "^7.27.1", "@babel/plugin-transform-optional-chaining": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.7", "@babel/plugin-transform-private-methods": "^7.27.1", "@babel/plugin-transform-private-property-in-object": "^7.27.1", "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.3", "@babel/plugin-transform-regexp-modifiers": "^7.27.1", "@babel/plugin-transform-reserved-words": "^7.27.1", "@babel/plugin-transform-shorthand-properties": "^7.27.1", @@ -1811,10 +1808,10 @@ "@babel/plugin-transform-unicode-regex": "^7.27.1", "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.40.0", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", "semver": "^6.3.1" }, "engines": { @@ -1884,19 +1881,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz", - "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" @@ -1918,23 +1915,15 @@ } } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/traverse/node_modules/ms": { "version": "2.1.2", "dev": true, "license": "MIT" }, "node_modules/@babel/types": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", - "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1964,27 +1953,28 @@ "license": "MIT" }, "node_modules/@cucumber/cucumber": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-12.1.0.tgz", - "integrity": "sha512-F72uKHUtHFFn4OAw6r6MoS+PWSMomQoIpW4+W/dcwNYY9oAKVAGyGJkEPIDXX00YtZY+EH3RUcNPlkD+f+dI0Q==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-12.2.0.tgz", + "integrity": "sha512-b7W4snvXYi1T2puUjxamASCCNhNzVSzb/fQUuGSkdjm/AFfJ24jo8kOHQyOcaoArCG71sVQci4vkZaITzl/V1w==", "dev": true, "license": "MIT", "dependencies": { "@cucumber/ci-environment": "10.0.1", "@cucumber/cucumber-expressions": "18.0.1", - "@cucumber/gherkin": "32.2.0", + "@cucumber/gherkin": "34.0.0", "@cucumber/gherkin-streams": "5.0.1", "@cucumber/gherkin-utils": "9.2.0", - "@cucumber/html-formatter": "21.13.0", - "@cucumber/junit-xml-formatter": "0.7.1", + "@cucumber/html-formatter": "21.14.0", + "@cucumber/junit-xml-formatter": "0.8.1", "@cucumber/message-streams": "4.0.1", - "@cucumber/messages": "27.2.0", + "@cucumber/messages": "28.1.0", + "@cucumber/pretty-formatter": "1.0.1", "@cucumber/tag-expressions": "6.2.0", "assertion-error-formatter": "^3.0.0", "capital-case": "^1.0.4", "chalk": "^4.1.2", "cli-table3": "0.6.5", - "commander": "^10.0.0", + "commander": "^14.0.0", "debug": "^4.3.4", "error-stack-parser": "^2.1.4", "figures": "^3.2.0", @@ -1996,9 +1986,9 @@ "knuth-shuffle-seeded": "^1.0.6", "lodash.merge": "^4.6.2", "lodash.mergewith": "^4.6.2", - "luxon": "3.6.1", + "luxon": "3.7.1", "mime": "^3.0.0", - "mkdirp": "^2.1.5", + "mkdirp": "^3.0.0", "mz": "^2.7.0", "progress": "^2.0.3", "read-package-up": "^11.0.0", @@ -2008,7 +1998,7 @@ "type-fest": "^4.41.0", "util-arity": "^1.1.0", "yaml": "^2.2.2", - "yup": "1.6.1" + "yup": "1.7.0" }, "bin": { "cucumber-js": "bin/cucumber.js" @@ -2030,6 +2020,19 @@ "regexp-match-indices": "1.0.2" } }, + "node_modules/@cucumber/cucumber/node_modules/@cucumber/messages": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-28.1.0.tgz", + "integrity": "sha512-2LzZtOwYKNlCuNf31ajkrekoy2M4z0Z1QGiPH40n4gf5t8VOUFb7m1ojtR4LmGvZxBGvJZP8voOmRqDWzBzYKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/uuid": "10.0.0", + "class-transformer": "0.5.1", + "reflect-metadata": "0.2.2", + "uuid": "11.1.0" + } + }, "node_modules/@cucumber/cucumber/node_modules/ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", @@ -2100,13 +2103,13 @@ } }, "node_modules/@cucumber/cucumber/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", + "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", "dev": true, "license": "MIT", "engines": { - "node": ">=14" + "node": ">=20" } }, "node_modules/@cucumber/cucumber/node_modules/debug": { @@ -2127,22 +2130,6 @@ } } }, - "node_modules/@cucumber/cucumber/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@cucumber/cucumber/node_modules/glob": { "version": "11.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz", @@ -2220,9 +2207,9 @@ } }, "node_modules/@cucumber/cucumber/node_modules/mkdirp": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz", - "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, "license": "MIT", "bin": { @@ -2284,14 +2271,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@cucumber/cucumber/node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, "node_modules/@cucumber/gherkin": { - "version": "32.2.0", - "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-32.2.0.tgz", - "integrity": "sha512-X8xuVhSIqlUjxSRifRJ7t0TycVWyX58fygJH3wDNmHINLg9sYEkvQT0SO2G5YlRZnYc11TIFr4YPenscvdlBIw==", + "version": "34.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-34.0.0.tgz", + "integrity": "sha512-659CCFsrsyvuBi/Eix1fnhSheMnojSfnBcqJ3IMPNawx7JlrNJDcXYSSdxcUw3n/nG05P+ptCjmiZY3i14p+tA==", "dev": true, "license": "MIT", "dependencies": { - "@cucumber/messages": ">=19.1.4 <28" + "@cucumber/messages": ">=19.1.4 <29" } }, "node_modules/@cucumber/gherkin-streams": { @@ -2430,9 +2431,9 @@ } }, "node_modules/@cucumber/html-formatter": { - "version": "21.13.0", - "resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-21.13.0.tgz", - "integrity": "sha512-/zkBZNGZca7AeY4hSMMu3PBqZBZtZ45qhynZC++LAstlyhXQrzl6zmjVLZMX7jIbdF1Lb+TjN4PWiGtS5VOM6g==", + "version": "21.14.0", + "resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-21.14.0.tgz", + "integrity": "sha512-vQqbmQZc0QiN4c+cMCffCItpODJlOlYtPG7pH6We096dBOa7u0ttDMjT6KrMAnQlcln54rHL46r408IFpuznAw==", "dev": true, "license": "MIT", "peerDependencies": { @@ -2440,9 +2441,9 @@ } }, "node_modules/@cucumber/junit-xml-formatter": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@cucumber/junit-xml-formatter/-/junit-xml-formatter-0.7.1.tgz", - "integrity": "sha512-AzhX+xFE/3zfoYeqkT7DNq68wAQfBcx4Dk9qS/ocXM2v5tBv6eFQ+w8zaSfsktCjYzu4oYRH/jh4USD1CYHfaQ==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cucumber/junit-xml-formatter/-/junit-xml-formatter-0.8.1.tgz", + "integrity": "sha512-FT1Y96pyd9/ifbE9I7dbkTCjkwEdW9C0MBobUZoKD13c8EnWAt0xl1Yy/v/WZLTk4XfCLte1DATtLx01jt+YiA==", "dev": true, "license": "MIT", "dependencies": { @@ -2478,6 +2479,36 @@ "uuid": "11.0.5" } }, + "node_modules/@cucumber/pretty-formatter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/pretty-formatter/-/pretty-formatter-1.0.1.tgz", + "integrity": "sha512-A1lU4VVP0aUWdOTmpdzvXOyEYuPtBDI0xYwYJnmoMDplzxMdhcHk86lyyvYDoMoPzzq6OkOE3isuosvUU4X7IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^5.0.0", + "cli-table3": "^0.6.0", + "figures": "^3.2.0", + "ts-dedent": "^2.0.0" + }, + "peerDependencies": { + "@cucumber/cucumber": ">=7.0.0", + "@cucumber/messages": "*" + } + }, + "node_modules/@cucumber/pretty-formatter/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/@cucumber/query": { "version": "13.6.0", "resolved": "https://registry.npmjs.org/@cucumber/query/-/query-13.6.0.tgz", @@ -3004,27 +3035,29 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.0.0" + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", "dev": true, "license": "MIT", "engines": { @@ -3037,7 +3070,9 @@ "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -6075,6 +6110,8 @@ }, "node_modules/ansi-styles": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", "dev": true, "license": "MIT", "engines": { @@ -6737,6 +6774,23 @@ "js-tokens": "^3.0.2" } }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/babel-core": { "version": "6.26.3", "dev": true, @@ -7171,14 +7225,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", - "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.4", + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", "semver": "^6.3.1" }, "peerDependencies": { @@ -7196,27 +7250,27 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", - "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.4" + "@babel/helper-define-polyfill-provider": "^0.6.5" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -8399,9 +8453,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", - "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", + "version": "4.25.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz", + "integrity": "sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==", "dev": true, "funding": [ { @@ -8419,8 +8473,8 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001716", - "electron-to-chromium": "^1.5.149", + "caniuse-lite": "^1.0.30001737", + "electron-to-chromium": "^1.5.211", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, @@ -8629,9 +8683,9 @@ "license": "CC-BY-4.0" }, "node_modules/caniuse-lite": { - "version": "1.0.30001717", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001717.tgz", - "integrity": "sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==", + "version": "1.0.30001741", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz", + "integrity": "sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==", "dev": true, "funding": [ { @@ -8704,18 +8758,16 @@ } }, "node_modules/chalk": { - "version": "1.1.3", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", + "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/chalk-template": { @@ -8833,7 +8885,9 @@ "license": "MIT" }, "node_modules/cheap-ruler": { - "version": "3.0.2", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cheap-ruler/-/cheap-ruler-4.0.0.tgz", + "integrity": "sha512-0BJa8f4t141BYKQyn9NSQt1PguFQXMXwZiA5shfoaBYHAb2fFk2RAX+tiWMoQU+Agtzt3mdt0JtuyshAXqZ+Vw==", "dev": true, "license": "ISC" }, @@ -8947,6 +9001,23 @@ "node": ">=0.10.0" } }, + "node_modules/clap/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/class-transformer": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", @@ -9056,30 +9127,144 @@ "node": ">=8" } }, - "node_modules/cli-width": { - "version": "2.2.0", - "dev": true, - "license": "ISC" - }, - "node_modules/cliui": { - "version": "3.2.0", + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/co": { - "version": "4.6.0", + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", "dev": true, "license": "MIT", "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/cli-width": { + "version": "2.2.0", + "dev": true, + "license": "ISC" + }, + "node_modules/cliui": { + "version": "3.2.0", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, "node_modules/coa": { "version": "1.0.4", "dev": true, @@ -9159,6 +9344,13 @@ "node": ">=0.8" } }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, "node_modules/colormin": { "version": "1.1.2", "dev": true, @@ -9374,13 +9566,13 @@ "license": "MIT" }, "node_modules/core-js-compat": { - "version": "3.42.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.42.0.tgz", - "integrity": "sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==", + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", + "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.4" + "browserslist": "^4.25.3" }, "funding": { "type": "opencollective", @@ -10480,17 +10672,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/documentation/node_modules/chalk": { - "version": "5.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/documentation/node_modules/cliui": { "version": "8.0.1", "dev": true, @@ -11041,9 +11222,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.151", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.151.tgz", - "integrity": "sha512-Rl6uugut2l9sLojjS4H4SAr3A4IgACMLgpuEMPYCVcKydzfyPrn5absNRju38IhQOf/NwjJY8OGWjlteqYeBCA==", + "version": "1.5.214", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.214.tgz", + "integrity": "sha512-TpvUNdha+X3ybfU78NoQatKvQEm1oq3lf2QbnmCEdw+Bd9RuIAY+hJTvq1avzHM0f7EJfnH3vbCnbzKzisc/9Q==", "dev": true, "license": "ISC" }, @@ -11117,6 +11298,19 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/error-ex": { "version": "1.3.1", "dev": true, @@ -12152,6 +12346,13 @@ "node": ">= 0.6" } }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, "node_modules/events": { "version": "3.3.0", "dev": true, @@ -12724,6 +12925,22 @@ "dev": true, "license": "MIT" }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/file-entry-cache": { "version": "2.0.0", "dev": true, @@ -13182,6 +13399,19 @@ "dev": true, "license": "ISC" }, + "node_modules/get-east-asian-width": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.1.tgz", + "integrity": "sha512-R1QfovbPsKmosqTnPoRFiJ7CF9MLRgb53ChvMZm+r4p76/+8yKDy17qLL2PKInORy2RkZZekuK0efYgmzTkXyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "dev": true, @@ -13438,6 +13668,8 @@ }, "node_modules/has-ansi": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", "dev": true, "license": "MIT", "dependencies": { @@ -14190,6 +14422,22 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/husky": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", + "dev": true, + "license": "MIT", + "bin": { + "husky": "bin.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "dev": true, @@ -15477,37 +15725,266 @@ "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/lint-staged": { + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.1.6.tgz", + "integrity": "sha512-U4kuulU3CKIytlkLlaHcGgKscNfJPNTiDF2avIUGFCv7K95/DCYQ7Ra62ydeRWmgQGg9zJYw2dzdbztwJlqrow==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.6.0", + "commander": "^14.0.0", + "debug": "^4.4.1", + "lilconfig": "^3.1.3", + "listr2": "^9.0.3", + "micromatch": "^4.0.8", + "nano-spawn": "^1.0.2", + "pidtree": "^0.6.0", + "string-argv": "^0.3.2", + "yaml": "^2.8.1" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=20.17" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", + "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/lint-staged/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/lint-staged/node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/lint-staged/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lint-staged/node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/listr2": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.3.tgz", + "integrity": "sha512-0aeh5HHHgmq1KRdMMDHfhMWQmIT/m7nRDTlxlFqni2Sp0had9baqsjJRvDGdlvgd6NmPE0nPloOipiQJGFtTHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lcid": { - "version": "1.0.0", + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { - "invert-kv": "^1.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/levn": { - "version": "0.3.0", + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "dev": true, - "license": "MIT" - }, "node_modules/load-json-file": { "version": "1.1.0", "dev": true, @@ -15603,6 +16080,222 @@ "dev": true, "license": "MIT" }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/longest": { "version": "1.0.1", "dev": true, @@ -15646,9 +16339,9 @@ "license": "ISC" }, "node_modules/luxon": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.6.1.tgz", - "integrity": "sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.1.tgz", + "integrity": "sha512-RkRWjA926cTvz5rAb1BqyWkKbbjzCGchDUIKMCUvNi17j6f6j8uHGDV82Aqcqtzd+icoYpELmG3ksgGiFNNcNg==", "dev": true, "license": "MIT", "engines": { @@ -17210,6 +17903,19 @@ "node": ">=4" } }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/min-indent": { "version": "1.0.1", "dev": true, @@ -17483,6 +18189,19 @@ "dev": true, "license": "MIT" }, + "node_modules/nano-spawn": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-1.0.3.tgz", + "integrity": "sha512-jtpsQDetTnvS2Ts1fiRdci5rx0VYws5jGyC+4IYOTnIQ/wwdf6JdomlHBwqC3bJYOvaKu0C2GSZ1A60anrYpaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1" + } + }, "node_modules/nanoid": { "version": "3.3.11", "dev": true, @@ -18415,6 +19134,19 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/pify": { "version": "2.3.0", "dev": true, @@ -18760,6 +19492,33 @@ "uniqs": "^2.0.0" } }, + "node_modules/postcss/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss/node_modules/chalk/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/postcss/node_modules/has-flag": { "version": "1.0.0", "dev": true, @@ -20345,6 +21104,13 @@ "node": ">=0.12" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, "node_modules/right-align": { "version": "0.1.3", "dev": true, @@ -21693,6 +22459,8 @@ }, "node_modules/supports-color": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", "dev": true, "license": "MIT", "engines": { @@ -22243,6 +23011,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.10" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -23687,9 +24465,9 @@ } }, "node_modules/yup": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/yup/-/yup-1.6.1.tgz", - "integrity": "sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.7.0.tgz", + "integrity": "sha512-VJce62dBd+JQvoc+fCVq+KZfPHr+hXaxCcVgotfwWvlR0Ja3ffYKaJBT8rptPOSKOGJDCUnW2C2JWpud7aRP6Q==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 09e6e675f5..51893bc223 100644 --- a/package.json +++ b/package.json @@ -15,12 +15,13 @@ ] }, "scripts": { - "lint": "node ./node_modules/eslint/bin/eslint.js -c ./eslint.config.js features/step_definitions/ features/support/", + "lint": "npx eslint features/", "test": "npm run lint && ./scripts/cucumber_test_matrix.sh", "clean": "rm -rf test/cache", "docs": "./scripts/build_api_docs.sh", "install": "node-pre-gyp install --fallback-to-build=false || ./scripts/node_install.sh", - "nodejs-tests": "make -C test/data && ./lib/binding/osrm-datastore test/data/ch/monaco.osrm && node test/nodejs/index.js | faucet" + "nodejs-tests": "make -C test/data && ./lib/binding/osrm-datastore test/data/ch/monaco.osrm && node test/nodejs/index.js | faucet", + "prepare": "husky" }, "repository": { "type": "git", @@ -41,25 +42,27 @@ "@babel/plugin-transform-class-properties": "^7.18.10", "@babel/preset-env": "^7.18.10", "@babel/preset-react": "^7.18.6", + "@cucumber/cucumber": "^12.1.0", "@mapbox/polyline": "1.2.1", "@turf/turf": "7.2.0", "acorn": "8.14.1", "ansi-escape-sequences": "6.2.4", "babelify": "^10.0.0", "browserify": "17.0.1", - "chalk": "^1.1.3", - "cheap-ruler": "^3.0.2", + "chalk": "^5.6.0", + "cheap-ruler": "^4.0.0", "command-line-args": "6.0.1", "command-line-usage": "7.0.3", "csv-stringify": "6.5.2", - "@cucumber/cucumber": "^12.1.0", "d3-queue": "3.0.7", "docbox": "^1.0.11", "documentation": "^14.0.2", "eslint": "9.26.0", "faucet": "^0.0.4", "flatbuffers": "24.3.25", + "husky": "^9.1.7", "jsonpath": "^1.1.1", + "lint-staged": "^16.1.6", "node-addon-api": "8.3.1", "node-cmake": "^2.5.1", "tape": "5.9.0", @@ -77,6 +80,12 @@ "remote_path": "./Project-OSRM/osrm-backend/releases/download/v{version}/", "package_name": "{module_name}-v{version}-{napi_build_version}-{platform}-{arch}-{configuration}.tar.gz" }, + "lint-staged": { + "features/**/*.js": [ + "node --check", + "eslint --fix" + ] + }, "publishConfig": { "access": "public" } diff --git a/scripts/cucumber_test_matrix.sh b/scripts/cucumber_test_matrix.sh index ab7cba6e34..2738068f30 100755 --- a/scripts/cucumber_test_matrix.sh +++ b/scripts/cucumber_test_matrix.sh @@ -12,7 +12,7 @@ do for loadmethod in "${loadmethods[@]}" do set -x - OSRM_LOAD_METHOD=$loadmethod node ./node_modules/@cucumber/cucumber/bin/cucumber.js features/ -p $profile + OSRM_LOAD_METHOD=$loadmethod npx cucumber-js features/ -p $profile { set +x; } 2>/dev/null done done