text-to-map
Version:
Text To Map usiluje o lepší, strojově zpracovatelné využití částí vyhlášek s výčtem ulic a dalších lokací. Jde o rozšiřitelnou sadu konceptů a nástrojů, které zajistí hladký převod výčtu ulic a jejich rozsahů v lidsky srozumitelném jazyce do strojově zpra
22 lines • 3.16 kB
JavaScript
import { disconnectKnex } from "../db/db";
import { isSyncPartCompleted, setSyncPartAsCompleted, startSyncPart } from "../db/sync-log";
export const runSyncPart = async (part, dependencies, partFunction) => {
try {
const logId = await startSyncPart(part);
for (const dependency of dependencies) {
const isCompleted = await isSyncPartCompleted(dependency);
if (!isCompleted) {
throw new Error(`Sync part ${part} cannot be started because dependency ${dependency} is not completed. Run 'npm run ${dependency}' first.`);
}
}
await partFunction();
await setSyncPartAsCompleted(logId);
}
catch (error) {
console.log(error);
}
finally {
await disconnectKnex();
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29wZW4tZGF0YS1zeW5jL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUM5QixJQUFjLEVBQ2QsWUFBd0IsRUFDeEIsWUFBaUMsRUFDbEIsRUFBRTtJQUNqQixJQUFJO1FBQ0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEMsS0FBSyxNQUFNLFVBQVUsSUFBSSxZQUFZLEVBQUU7WUFDckMsTUFBTSxXQUFXLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLGFBQWEsSUFBSSx5Q0FBeUMsVUFBVSxtQ0FBbUMsVUFBVSxVQUFVLENBQzVILENBQUM7YUFDSDtTQUNGO1FBQ0QsTUFBTSxZQUFZLEVBQUUsQ0FBQztRQUVyQixNQUFNLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3JDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BCO1lBQVM7UUFDUixNQUFNLGNBQWMsRUFBRSxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlzY29ubmVjdEtuZXggfSBmcm9tIFwiLi4vZGIvZGJcIjtcclxuaW1wb3J0IHsgaXNTeW5jUGFydENvbXBsZXRlZCwgc2V0U3luY1BhcnRBc0NvbXBsZXRlZCwgc3RhcnRTeW5jUGFydCB9IGZyb20gXCIuLi9kYi9zeW5jLWxvZ1wiO1xyXG5pbXBvcnQgeyBTeW5jUGFydCB9IGZyb20gXCIuLi9kYi90eXBlc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IHJ1blN5bmNQYXJ0ID0gYXN5bmMgKFxyXG4gIHBhcnQ6IFN5bmNQYXJ0LFxyXG4gIGRlcGVuZGVuY2llczogU3luY1BhcnRbXSxcclxuICBwYXJ0RnVuY3Rpb246ICgpID0+IFByb21pc2U8dm9pZD5cclxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IGxvZ0lkID0gYXdhaXQgc3RhcnRTeW5jUGFydChwYXJ0KTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGRlcGVuZGVuY3kgb2YgZGVwZW5kZW5jaWVzKSB7XHJcbiAgICAgIGNvbnN0IGlzQ29tcGxldGVkID0gYXdhaXQgaXNTeW5jUGFydENvbXBsZXRlZChkZXBlbmRlbmN5KTtcclxuICAgICAgaWYgKCFpc0NvbXBsZXRlZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgIGBTeW5jIHBhcnQgJHtwYXJ0fSBjYW5ub3QgYmUgc3RhcnRlZCBiZWNhdXNlIGRlcGVuZGVuY3kgJHtkZXBlbmRlbmN5fSBpcyBub3QgY29tcGxldGVkLiBSdW4gJ25wbSBydW4gJHtkZXBlbmRlbmN5fScgZmlyc3QuYFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGF3YWl0IHBhcnRGdW5jdGlvbigpO1xyXG5cclxuICAgIGF3YWl0IHNldFN5bmNQYXJ0QXNDb21wbGV0ZWQobG9nSWQpO1xyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgfSBmaW5hbGx5IHtcclxuICAgIGF3YWl0IGRpc2Nvbm5lY3RLbmV4KCk7XHJcbiAgfVxyXG59O1xyXG4iXX0=