UNPKG

@moonset/executor

Version:
45 lines 4.34 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Executor = void 0; const model_1 = require("@moonset/model"); const vi = require("./visitor"); const ir = require("./ir"); const run_1 = require("./run"); class Executor { constructor() { } async run(job) { await new run_1.Run().start(this.getRootNode(job)); } ir(job) { const root = this.getRootNode(job); const states = { cdk: [], sdk: [] }; root.accept(new ir.RunVisitor(), states); return states; } getRootNode(job) { const jobInput = Array.isArray(job) ? job : [job]; const jobs = jobInput.map((x) => { const obj = JSON.parse(x); const err = model_1.Job.verify(obj); if (err) { throw new Error('Bad Input: ' + err); } return model_1.Job.create(obj); }); return new vi.RootNode(jobs); } } exports.Executor = Executor; __exportStar(require("./plugin"), exports); __exportStar(require("./constants"), exports); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsMENBQW1DO0FBQ25DLGdDQUFnQztBQUNoQywyQkFBMkI7QUFFM0IsK0JBQTBCO0FBRzFCLE1BQWEsUUFBUTtJQUNuQixnQkFBZSxDQUFDO0lBRWhCLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBUTtRQUNoQixNQUFNLElBQUksU0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsRUFBRSxDQUFDLEdBQVE7UUFDVCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFVLEVBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ08sV0FBVyxDQUFDLEdBQVE7UUFDMUIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sR0FBRyxHQUFHLFdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDdEM7WUFDRCxPQUFPLFdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUF4QkQsNEJBd0JDO0FBRUQsMkNBQXlCO0FBQ3pCLDhDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Sm9ifSBmcm9tICdAbW9vbnNldC9tb2RlbCc7XG5pbXBvcnQgKiBhcyB2aSBmcm9tICcuL3Zpc2l0b3InO1xuaW1wb3J0ICogYXMgaXIgZnJvbSAnLi9pcic7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnQG1vb25zZXQvdXRpbCc7XG5pbXBvcnQge1J1bn0gZnJvbSAnLi9ydW4nO1xuXG5cbmV4cG9ydCBjbGFzcyBFeGVjdXRvciB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBhc3luYyBydW4oam9iOiBhbnkpIHtcbiAgICBhd2FpdCBuZXcgUnVuKCkuc3RhcnQodGhpcy5nZXRSb290Tm9kZShqb2IpKTtcbiAgfVxuICBpcihqb2I6IGFueSk6IGlyLklSIHtcbiAgICBjb25zdCByb290ID0gdGhpcy5nZXRSb290Tm9kZShqb2IpO1xuICAgIGNvbnN0IHN0YXRlczogaXIuSVIgPSB7Y2RrOiBbXSwgc2RrOiBbXX07XG4gICAgcm9vdC5hY2NlcHQobmV3IGlyLlJ1blZpc2l0b3IoKSwgc3RhdGVzKTtcbiAgICByZXR1cm4gc3RhdGVzO1xuICB9XG4gIHByaXZhdGUgZ2V0Um9vdE5vZGUoam9iOiBhbnkpOiB2aS5Sb290Tm9kZSB7XG4gICAgY29uc3Qgam9iSW5wdXQgPSBBcnJheS5pc0FycmF5KGpvYikgPyBqb2IgOiBbam9iXTtcbiAgICBjb25zdCBqb2JzID0gam9iSW5wdXQubWFwKCh4KSA9PiB7XG4gICAgICBjb25zdCBvYmogPSBKU09OLnBhcnNlKHgpO1xuICAgICAgY29uc3QgZXJyID0gSm9iLnZlcmlmeShvYmopO1xuICAgICAgaWYgKGVycikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JhZCBJbnB1dDogJyArIGVycik7XG4gICAgICB9XG4gICAgICByZXR1cm4gSm9iLmNyZWF0ZShvYmopO1xuICAgIH0pO1xuICAgIHJldHVybiBuZXcgdmkuUm9vdE5vZGUoam9icyk7XG4gIH1cbn1cblxuZXhwb3J0ICogZnJvbSAnLi9wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuIl19