25 lines
1022 B
JavaScript
25 lines
1022 B
JavaScript
"use strict";
|
|
|
|
const fs = require("fs");
|
|
const { parseOsm } = require("../../packages/road-compiler/src/osm");
|
|
const trafficSignals = require("../../packages/road-compiler/src/traffic-signals");
|
|
|
|
function readTrafficSignalFeatures(stopLinePath, intersectionPath, osmPath) {
|
|
const controls = parseOsm(fs.readFileSync(osmPath, "utf8")).trafficSignalControls;
|
|
return trafficSignals.buildTrafficSignalFeatures(
|
|
JSON.parse(fs.readFileSync(stopLinePath, "utf8")),
|
|
JSON.parse(fs.readFileSync(intersectionPath, "utf8")), controls,
|
|
);
|
|
}
|
|
|
|
function readTrafficSignals(editablePath, osmPath = null) {
|
|
const collection = JSON.parse(fs.readFileSync(editablePath, "utf8"));
|
|
if (osmPath) {
|
|
const controls = parseOsm(fs.readFileSync(osmPath, "utf8")).trafficSignalControls;
|
|
trafficSignals.validateTrafficSignalSourceReferences(collection, controls);
|
|
}
|
|
return trafficSignals.buildTrafficSignalsFromFeatures(collection);
|
|
}
|
|
|
|
module.exports = { ...trafficSignals, readTrafficSignalFeatures, readTrafficSignals };
|