judgeval
Version:
Judgment SDK for TypeScript/JavaScript
72 lines • 2.37 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ScoringResultBuilder = exports.ScoringResult = void 0;
class ScoringResult {
constructor(options) {
this.dataObject = options.dataObject;
this.scorersData = options.scorersData;
this.error = options.error;
}
/**
* Builder pattern for creating a ScoringResult
*/
static builder() {
return new ScoringResultBuilder();
}
/**
* Convert the scoring result to a plain object
*/
toJSON() {
var _a;
const dataObjectSnake = this.dataObject ? this.dataObject.toJSON() : null;
return {
success: this.scorersData ? this.scorersData.every(scorer => scorer.success) : false,
scorers_data: this.scorersData ? this.scorersData.map(scorer => ({
name: scorer.name,
threshold: scorer.threshold,
success: scorer.success,
score: scorer.score,
reason: scorer.reason,
strict_mode: scorer.strict_mode,
evaluation_model: scorer.evaluation_model,
error: scorer.error,
evaluation_cost: scorer.evaluation_cost,
verbose_logs: scorer.verbose_logs,
additional_metadata: scorer.additional_metadata
})) : null,
data_object: dataObjectSnake,
trace_id: ((_a = this.dataObject) === null || _a === void 0 ? void 0 : _a.traceId) || null,
error: this.error || null
};
}
}
exports.ScoringResult = ScoringResult;
/**
* Builder for creating ScoringResult instances
*/
class ScoringResultBuilder {
dataObject(dataObject) {
this._dataObject = dataObject;
return this;
}
scorersData(scorersData) {
this._scorersData = scorersData;
return this;
}
error(error) {
this._error = error;
return this;
}
build() {
if (!this._dataObject) {
throw new Error('Data object is required for a ScoringResult');
}
return new ScoringResult({
dataObject: this._dataObject,
scorersData: this._scorersData,
error: this._error,
});
}
}
exports.ScoringResultBuilder = ScoringResultBuilder;
//# sourceMappingURL=result.js.map