1 | import {Operator} from 'vega-dataflow';
|
2 | import {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 | */
|
12 | export default function Compare(params) {
|
13 | Operator.call(this, null, update, params);
|
14 | }
|
15 |
|
16 | inherits(Compare, Operator);
|
17 |
|
18 | function update(_) {
|
19 | return (this.value && !_.modified())
|
20 | ? this.value
|
21 | : compare(_.fields, _.orders);
|
22 | }
|