ts-flex-query
Version:
Flexible and type-safe data queries
24 lines • 889 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RecordExpression = void 0;
exports.record = record;
const evaluate_expression_1 = require("../helpers/evaluate-expression");
const utils_1 = require("../helpers/utils");
const data_type_1 = require("../types/data-type");
class RecordExpression {
constructor(fields) {
this.fields = fields;
this.dataType = {
type: data_type_1.DataTypeType.object,
fields: (0, utils_1.createObjectFromObject)(fields, (expr) => expr.dataType)
};
}
evaluate(context) {
return (0, utils_1.createObjectFromObject)(this.fields, (field) => (0, evaluate_expression_1.evaluateExpression)(field, context));
}
}
exports.RecordExpression = RecordExpression;
function record(fields) {
return new RecordExpression(fields);
}
//# sourceMappingURL=record.js.map