UNPKG

649 BJavaScriptView Raw
1import {Operator} from 'vega-dataflow';
2import {compare, inherits} from 'vega-util';
3
4/**
5 * Generates a comparator function.
6 * @constructor
7 * @param {object} params - The parameters for this operator.
8 * @param {Array<string|function>} params.fields - The fields to compare.
9 * @param {Array<string>} [params.orders] - The sort orders.
10 * Each entry should be one of "ascending" (default) or "descending".
11 */
12export default function Compare(params) {
13 Operator.call(this, null, update, params);
14}
15
16inherits(Compare, Operator);
17
18function update(_) {
19 return (this.value && !_.modified())
20 ? this.value
21 : compare(_.fields, _.orders);
22}