@forestadmin/forestadmin-client
Version:
This package contains the logic to use the ForestAdmin API inside an agent.
43 lines • 2.53 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.hashChartRequest = exports.hashServerCharts = void 0;
const object_hash_1 = __importDefault(require("object-hash"));
function hashChart(chart) {
const knownChartKeys = [
'type',
'apiRoute',
'smartRoute',
'query',
'connectionName',
'labelFieldName',
'filter',
'sourceCollectionName',
'aggregator',
'aggregateFieldName',
'groupByFieldName',
'relationshipFieldName',
'limit',
'timeRange',
'objective',
'numeratorChartId',
'denominatorChartId',
];
const hash = (0, object_hash_1.default)(chart, {
respectType: false,
excludeKeys: key => chart[key] === null || chart[key] === undefined || !knownChartKeys.includes(key),
});
return hash;
}
function hashServerCharts(charts) {
const hashes = charts.map(hashChart);
return new Set(hashes);
}
exports.hashServerCharts = hashServerCharts;
function hashChartRequest(chart) {
return hashChart(chart);
}
exports.hashChartRequest = hashChartRequest;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaC1jaGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wZXJtaXNzaW9ucy9oYXNoLWNoYXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhEQUFxQztBQUlyQyxTQUFTLFNBQVMsQ0FBQyxLQUFZO0lBQzdCLE1BQU0sY0FBYyxHQUFnQjtRQUNsQyxNQUFNO1FBQ04sVUFBVTtRQUNWLFlBQVk7UUFDWixPQUFPO1FBQ1AsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixRQUFRO1FBQ1Isc0JBQXNCO1FBQ3RCLFlBQVk7UUFDWixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixPQUFPO1FBQ1AsV0FBVztRQUNYLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsb0JBQW9CO0tBQ3JCLENBQUM7SUFFRixNQUFNLElBQUksR0FBRyxJQUFBLHFCQUFVLEVBQUMsS0FBSyxFQUFFO1FBQzdCLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLFdBQVcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUNqQixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQWdCLENBQUM7S0FDaEcsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsTUFBZTtJQUM5QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXJDLE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDekIsQ0FBQztBQUpELDRDQUlDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsS0FBWTtJQUMzQyxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBRkQsNENBRUMifQ==
;