blob: c3e96c96684687d9e2dfe51bd22c50ba310015ea [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright 2015 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<link rel="import" href="/perf_insights/mre/failure.html">
<script>
'use strict';
tr.exportTo('pi.mre', function() {
function JobResults(failures, reduceResults) {
if (failures === undefined)
failures = [];
if (reduceResults === undefined)
reduceResults = {};
this.failures = failures;
this.reduceResults = reduceResults;
}
JobResults.prototype = {
addFailure: function(failure) {
this.failures.push(failure);
},
addResult: function(key, value) {
if (key in this.reduceResults)
throw new Error('Key ' + key + 'already exists in results.');
this.reduceResults[key] = value;
},
asDict: function() {
return {
failures: this.failures.map(function(f) {return f.asDict();}),
reduce_results: this.reduceResults
};
}
};
JobResults.fromDict = function(jobResultsDict) {
var failures = jobResultsDict.failures.map(pi.mre.Failure.fromDict);
var reduceResults = jobResultsDict.reduce_results;
return new JobResults(failures, reduceResults);
};
return {
JobResults: JobResults
};
});
</script>