@vulcan-sql/core
Version:
Core package of VulcanSQL
33 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExecutorRunner = void 0;
const tslib_1 = require("tslib");
const models_1 = require("../../../../models/index");
const utils_1 = require("../../../utils/index");
const constants_1 = require("./constants");
const isDataResult = (response) => {
return response.getColumns && response.getData;
};
let ExecutorRunner = class ExecutorRunner extends models_1.FilterRunner {
constructor() {
super(...arguments);
this.filterName = constants_1.EXECUTE_FILTER_NAME;
}
transform({ value: builder, }) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const response = yield builder.value();
// if input value is not a query builder, call the function .value and do nothing.
if (!isDataResult(response))
return response;
const { getData } = response;
const dataStream = getData();
const data = yield (0, utils_1.streamToArray)(dataStream);
return data;
});
}
};
ExecutorRunner = tslib_1.__decorate([
(0, models_1.VulcanInternalExtension)()
], ExecutorRunner);
exports.ExecutorRunner = ExecutorRunner;
//# sourceMappingURL=executorRunner.js.map