@progress/kendo-data-query 1.7.0-dev.202309201443 → 1.7.1-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/cdn/js/kendo-data-query.js +1 -16
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/array.operators.js +5 -3
  4. package/dist/es/common.interfaces.js +1 -0
  5. package/dist/es/data-result.interface.js +1 -0
  6. package/dist/es/filter-serialization.common.js +4 -5
  7. package/dist/es/filtering/filter-no-eval.js +5 -6
  8. package/dist/es/filtering/filter.operators.js +1 -1
  9. package/dist/es/grouping/aggregate.operators.js +1 -1
  10. package/dist/es/grouping/group-descriptor.interface.js +1 -0
  11. package/dist/es/mvc/operators.js +9 -9
  12. package/dist/es/odata-filtering.operators.js +8 -8
  13. package/dist/es/odata.operators.js +1 -1
  14. package/dist/es/sort-descriptor.js +1 -0
  15. package/dist/es/state.js +1 -0
  16. package/dist/es2015/array.operators.js +3 -1
  17. package/dist/es2015/common.interfaces.js +1 -0
  18. package/dist/es2015/data-result.interface.js +1 -0
  19. package/dist/es2015/filtering/filter-no-eval.js +5 -6
  20. package/dist/es2015/filtering/filter.operators.js +1 -1
  21. package/dist/es2015/grouping/aggregate.operators.js +1 -1
  22. package/dist/es2015/grouping/group-descriptor.interface.js +1 -0
  23. package/dist/es2015/mvc/operators.js +2 -2
  24. package/dist/es2015/sort-descriptor.js +1 -0
  25. package/dist/es2015/state.js +1 -0
  26. package/dist/npm/accessor.js +4 -3
  27. package/dist/npm/array.operators.d.ts +4 -2
  28. package/dist/npm/array.operators.js +30 -23
  29. package/dist/npm/common.interfaces.d.ts +5 -5
  30. package/dist/npm/filter-serialization.common.d.ts +1 -1
  31. package/dist/npm/filter-serialization.common.js +24 -16
  32. package/dist/npm/filtering/filter-descriptor.interface.d.ts +7 -2
  33. package/dist/npm/filtering/filter-descriptor.interface.js +3 -2
  34. package/dist/npm/filtering/filter-expression.factory.js +7 -5
  35. package/dist/npm/filtering/filter-no-eval.js +19 -19
  36. package/dist/npm/filtering/filter.operators.d.ts +1 -1
  37. package/dist/npm/filtering/filter.operators.js +8 -7
  38. package/dist/npm/filtering/operators.enum.js +1 -1
  39. package/dist/npm/funcs.js +8 -4
  40. package/dist/npm/grouping/aggregate.operators.d.ts +2 -2
  41. package/dist/npm/grouping/aggregate.operators.js +6 -5
  42. package/dist/npm/grouping/group-descriptor.interface.d.ts +14 -1
  43. package/dist/npm/grouping/group.operators.js +12 -10
  44. package/dist/npm/main.js +1 -0
  45. package/dist/npm/mvc/deserialization.d.ts +1 -1
  46. package/dist/npm/mvc/deserialization.js +7 -5
  47. package/dist/npm/mvc/operators.d.ts +3 -3
  48. package/dist/npm/mvc/operators.js +32 -30
  49. package/dist/npm/odata-filtering.operators.js +20 -19
  50. package/dist/npm/odata.operators.js +7 -6
  51. package/dist/npm/sort-descriptor.d.ts +1 -1
  52. package/dist/npm/sorting/sort-array.operator.d.ts +2 -2
  53. package/dist/npm/sorting/sort-array.operator.js +6 -5
  54. package/dist/npm/transducers.js +36 -25
  55. package/dist/npm/utils.d.ts +1 -1
  56. package/dist/npm/utils.js +20 -10
  57. package/dist/systemjs/kendo-data-query.js +1 -1
  58. package/package.json +15 -26
  59. package/NOTICE.txt +0 -614
@@ -1,6 +1,6 @@
1
1
  import { isCompositeFilterDescriptor } from "./filter-descriptor.interface";
2
2
  import { getter } from "../accessor";
3
- import { isFunction, isPresent, isDate, isString, isBlank, isNumeric } from "../utils";
3
+ import { isFunction, isPresent, isDate, isString, isBlank } from "../utils";
4
4
  const logic = {
5
5
  "or": {
6
6
  concat: (acc, fn) => a => acc(a) || fn(a),
@@ -58,12 +58,11 @@ const typedGetter = (prop, value, ignoreCase) => {
58
58
  else {
59
59
  acc = a => {
60
60
  const x = prop(a);
61
- if (typeof x === 'string' && ignoreCase) {
62
- return x.toLowerCase();
63
- }
64
- else {
65
- return isNumeric(x) ? x + "" : x;
61
+ if (x === null) {
62
+ return x;
66
63
  }
64
+ const stringValue = typeof x === 'string' ? x : x + "";
65
+ return ignoreCase ? stringValue.toLowerCase() : stringValue;
67
66
  };
68
67
  }
69
68
  }
@@ -58,7 +58,7 @@ const normalizeDescriptor = (descriptor) => {
58
58
  };
59
59
  // tslint:disable:max-line-length
60
60
  /**
61
- * Converts a [FilterDescriptor]({% slug api_kendo-data-query_filterdescriptor %}) into a [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}). If a `CompositeFilterDescriptor` is passed, no modifications will be made.
61
+ * Converts a [`FilterDescriptor`]({% slug api_kendo-data-query_filterdescriptor %}) into a [`CompositeFilterDescriptor`]({% slug api_kendo-data-query_compositefilterdescriptor %}). If a `CompositeFilterDescriptor` is passed, no modifications will be made.
62
62
  *
63
63
  * @param {CompositeFilterDescriptor | FilterDescriptor} descriptor - The descriptor that will be normalized.
64
64
  * @returns {CompositeFilterDescriptor} - The normalized descriptor.
@@ -2,7 +2,7 @@ import { exec, map, aggregatesCombinator, expandAggregates } from '../transducer
2
2
  const identity = map(x => x);
3
3
  // tslint:disable:max-line-length
4
4
  /**
5
- * Applies the specified [AggregateDescriptors]({% slug api_kendo-data-query_aggregatedescriptor %}) to the data. Returns an [AggregateResult]({% slug api_kendo-data-query_aggregateresult %}) instance.
5
+ * Applies the specified [`AggregateDescriptors`]({% slug api_kendo-data-query_aggregatedescriptor %}) to the data. Returns an [`AggregateResult`]({% slug api_kendo-data-query_aggregateresult %}) instance.
6
6
  *
7
7
  * @example
8
8
  * ```ts
@@ -1 +1,2 @@
1
+ export {};
1
2
  // tslint:enable:max-line-length
@@ -75,7 +75,7 @@ const rules = (state, encode = true) => key => ({
75
75
  * Converts a [DataSourceRequestState]({% slug api_kendo-data-query_datasourcerequeststate %}) into a string
76
76
  * that is comparable with the `DataSourceRequest` format in UI for ASP.NET MVC.
77
77
  *
78
- * @param {DataRequestState} state - The state that will be serialized.
78
+ * @param {DataSourceRequestState} state - The state that will be serialized.
79
79
  * @returns {string} - The serialized state.
80
80
  *
81
81
  * @example
@@ -183,7 +183,7 @@ export const toDataSourceRequestString = (state) => (toQueryString(Object.keys(s
183
183
  * Converts a [DataSourceRequestState]({% slug api_kendo-data-query_datasourcerequeststate %}) into an object
184
184
  * that is compatible with the `DataSourceRequest` format in UI for ASP.NET MVC.
185
185
  *
186
- * @param {DataRequestState} state - The state that will be serialized.
186
+ * @param {DataSourceRequestState} state - The state that will be serialized.
187
187
  * @returns {any} - The serialized state.
188
188
  */
189
189
  export const toDataSourceRequest = (state) => (toObject(Object.keys(state)
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -9,21 +9,21 @@ getterCache['undefined'] = function (obj) { return obj; };
9
9
  /**
10
10
  * @hidden
11
11
  */
12
- exports.getter = function (field, safe) {
12
+ var getter = function (field, safe) {
13
13
  var key = field + safe;
14
14
  if (getterCache[key]) {
15
15
  return getterCache[key];
16
16
  }
17
17
  var fields = [];
18
18
  field.replace(FIELD_REGEX, function (_, index, indexAccessor, field) {
19
- fields.push(utils_1.isPresent(index) ? index : (indexAccessor || field));
19
+ fields.push((0, utils_1.isPresent)(index) ? index : (indexAccessor || field));
20
20
  return undefined;
21
21
  });
22
22
  getterCache[key] = function (obj) {
23
23
  var result = obj;
24
24
  for (var idx = 0; idx < fields.length; idx++) {
25
25
  result = result[fields[idx]];
26
- if (!utils_1.isPresent(result) && safe) {
26
+ if (!(0, utils_1.isPresent)(result) && safe) {
27
27
  return result;
28
28
  }
29
29
  }
@@ -31,3 +31,4 @@ exports.getter = function (field, safe) {
31
31
  };
32
32
  return getterCache[key];
33
33
  };
34
+ exports.getter = getter;
@@ -19,11 +19,13 @@ import { Predicate } from './common.interfaces';
19
19
  * { name: "Beef", category: "Food", subcategory: "Meat" }
20
20
  * ];
21
21
  *
22
- * const result = orderBy(data, [{ field: "name", dir: "asc" }]);
22
+ * const sortDesc: SortDescriptor[] = [{ field: "name", dir: "asc" }];
23
+ *
24
+ * const result = orderBy(data, sortDesc);
23
25
  * ```
24
26
  */
25
27
  export declare const orderBy: <T>(data: T[], descriptors: SortDescriptor[]) => T[];
26
- declare type Comparer = <T>(a: T, b: T) => boolean;
28
+ type Comparer = <T>(a: T, b: T) => boolean;
27
29
  /**
28
30
  * Reduces the provided array so it contains only unique values.
29
31
  *
@@ -27,21 +27,24 @@ var funcs_1 = require("./funcs");
27
27
  * { name: "Beef", category: "Food", subcategory: "Meat" }
28
28
  * ];
29
29
  *
30
- * const result = orderBy(data, [{ field: "name", dir: "asc" }]);
30
+ * const sortDesc: SortDescriptor[] = [{ field: "name", dir: "asc" }];
31
+ *
32
+ * const result = orderBy(data, sortDesc);
31
33
  * ```
32
34
  */
33
- exports.orderBy = function (data, descriptors) {
34
- if (descriptors.some(function (x) { return utils_1.isPresent(x.dir) || utils_1.isPresent(x.compare); })) {
35
+ var orderBy = function (data, descriptors) {
36
+ if (descriptors.some(function (x) { return (0, utils_1.isPresent)(x.dir) || (0, utils_1.isPresent)(x.compare); })) {
35
37
  data = data.slice(0);
36
- var comparer = sort_array_operator_1.composeSortDescriptors(descriptors);
38
+ var comparer = (0, sort_array_operator_1.composeSortDescriptors)(descriptors);
37
39
  data.sort(comparer);
38
40
  }
39
41
  return data;
40
42
  };
43
+ exports.orderBy = orderBy;
41
44
  var defaultComparer = function (a, b) { return a === b; };
42
45
  var normalizeComparer = function (comparer) {
43
- if (utils_1.isString(comparer)) {
44
- var accessor_2 = accessor_1.getter(comparer);
46
+ if ((0, utils_1.isString)(comparer)) {
47
+ var accessor_2 = (0, accessor_1.getter)(comparer);
45
48
  comparer = function (a, b) { return accessor_2(a) === accessor_2(b); };
46
49
  }
47
50
  return comparer;
@@ -75,14 +78,15 @@ var _distinct = function (data, comparer) {
75
78
  * // ];
76
79
  * ```
77
80
  */
78
- exports.distinct = function (data, comparer) {
81
+ var distinct = function (data, comparer) {
79
82
  if (comparer === void 0) { comparer = defaultComparer; }
80
83
  return _distinct(data, normalizeComparer(comparer));
81
84
  };
85
+ exports.distinct = distinct;
82
86
  /**
83
87
  * @hidden
84
88
  */
85
- exports.count = function (data, predicate) {
89
+ var count = function (data, predicate) {
86
90
  var counter = 0;
87
91
  for (var idx = 0, length_1 = data.length; idx < length_1; idx++) {
88
92
  if (predicate(data[idx])) {
@@ -91,15 +95,17 @@ exports.count = function (data, predicate) {
91
95
  }
92
96
  return counter;
93
97
  };
98
+ exports.count = count;
94
99
  /**
95
100
  * @hidden
96
101
  */
97
- exports.limit = function (data, predicate) {
102
+ var limit = function (data, predicate) {
98
103
  if (predicate) {
99
104
  return data.filter(predicate);
100
105
  }
101
106
  return data;
102
107
  };
108
+ exports.limit = limit;
103
109
  /**
104
110
  * Applies the specified operation descriptors to the data.
105
111
  *
@@ -132,14 +138,14 @@ exports.limit = function (data, predicate) {
132
138
  *
133
139
  * ```
134
140
  */
135
- exports.process = function (data, state) {
141
+ var process = function (data, state) {
136
142
  var skipCount = state.skip, takeCount = state.take, filterDescriptor = state.filter, sort = state.sort, group = state.group;
137
- var sortDescriptors = tslib_1.__spreadArrays(group_operators_1.normalizeGroups(group || []), sort || []);
143
+ var sortDescriptors = tslib_1.__spreadArray(tslib_1.__spreadArray([], (0, group_operators_1.normalizeGroups)(group || []), true), sort || [], true);
138
144
  if (sortDescriptors.length) {
139
- data = exports.orderBy(data, sortDescriptors);
145
+ data = (0, exports.orderBy)(data, sortDescriptors);
140
146
  }
141
- var hasFilters = utils_1.isPresent(filterDescriptor) && transducers_1.filter.length;
142
- var hasGroups = utils_1.isPresent(group) && group.length;
147
+ var hasFilters = (0, utils_1.isPresent)(filterDescriptor) && transducers_1.filter.length;
148
+ var hasGroups = (0, utils_1.isPresent)(group) && group.length;
143
149
  if (!hasFilters && !hasGroups) {
144
150
  return {
145
151
  data: takeCount ? data.slice(skipCount, skipCount + takeCount) : data,
@@ -150,26 +156,27 @@ exports.process = function (data, state) {
150
156
  var transformers = [];
151
157
  var predicate;
152
158
  if (hasFilters) {
153
- predicate = filter_expression_factory_1.compileFilter(filter_operators_1.normalizeFilters(filterDescriptor));
154
- total = exports.count(data, predicate);
155
- transformers.push(transducers_1.filter(predicate));
159
+ predicate = (0, filter_expression_factory_1.compileFilter)((0, filter_operators_1.normalizeFilters)(filterDescriptor));
160
+ total = (0, exports.count)(data, predicate);
161
+ transformers.push((0, transducers_1.filter)(predicate));
156
162
  }
157
163
  else {
158
164
  total = data.length;
159
165
  }
160
- if (utils_1.isPresent(skipCount) && utils_1.isPresent(takeCount)) {
161
- transformers.push(transducers_1.skip(skipCount));
162
- transformers.push(transducers_1.take(takeCount));
166
+ if ((0, utils_1.isPresent)(skipCount) && (0, utils_1.isPresent)(takeCount)) {
167
+ transformers.push((0, transducers_1.skip)(skipCount));
168
+ transformers.push((0, transducers_1.take)(takeCount));
163
169
  }
164
170
  if (transformers.length) {
165
171
  var transform = funcs_1.compose.apply(void 0, transformers);
166
172
  var result = hasGroups ?
167
- group_operators_1.groupBy(data, group, transform, exports.limit(data, predicate)) :
168
- transducers_1.exec(transform(transducers_1.concat), [], data);
173
+ (0, group_operators_1.groupBy)(data, group, transform, (0, exports.limit)(data, predicate)) :
174
+ (0, transducers_1.exec)(transform(transducers_1.concat), [], data);
169
175
  return { data: result, total: total };
170
176
  }
171
177
  return {
172
- data: hasGroups ? group_operators_1.groupBy(data, group) : data,
178
+ data: hasGroups ? (0, group_operators_1.groupBy)(data, group) : data,
173
179
  total: total
174
180
  };
175
181
  };
182
+ exports.process = process;
@@ -1,22 +1,22 @@
1
1
  /**
2
2
  * @hidden
3
3
  */
4
- export declare type Combinator = <T, U>(acc: U, curr: T) => U;
4
+ export type Combinator = <T, U>(acc: U, curr: T) => U;
5
5
  /**
6
6
  * @hidden
7
7
  */
8
- export declare type Reducer = (reduce: Combinator) => Transformer;
8
+ export type Reducer = (reduce: Combinator) => Transformer;
9
9
  /**
10
10
  * @hidden
11
11
  */
12
- export declare type TransformerResult<T> = {
12
+ export type TransformerResult<T> = {
13
13
  __value: T;
14
14
  reduced: boolean;
15
15
  };
16
16
  /**
17
17
  * @hidden
18
18
  */
19
- export declare type Transformer = <T, U>(acc: U, curr: T, index: number) => U | TransformerResult<U>;
19
+ export type Transformer = <T, U>(acc: U, curr: T, index: number) => U | TransformerResult<U>;
20
20
  /**
21
21
  * A type which represents a function that returns a Boolean value.
22
22
  *
@@ -27,4 +27,4 @@ export declare type Transformer = <T, U>(acc: U, curr: T, index: number) => U |
27
27
  * isGreaterThanTen(20); // true
28
28
  * ```
29
29
  */
30
- export declare type Predicate = <T>(x: T) => boolean;
30
+ export type Predicate = <T>(x: T) => boolean;
@@ -2,7 +2,7 @@ import { FilterDescriptor, CompositeFilterDescriptor } from './filtering/filter-
2
2
  /**
3
3
  * @hidden
4
4
  */
5
- export declare type Transformation = (x: FilterDescriptor) => FilterDescriptor;
5
+ export type Transformation = (x: FilterDescriptor) => FilterDescriptor;
6
6
  /**
7
7
  * @hidden
8
8
  * Creates a single arity function which wraps the value based on the provided predicate.
@@ -13,59 +13,64 @@ var utils_1 = require("./utils");
13
13
  * //ignoreCase=false -> ${field}`
14
14
  * ```
15
15
  */
16
- exports.wrapIf = function (predicate) { return function (str) {
16
+ var wrapIf = function (predicate) { return function (str) {
17
17
  var args = [];
18
18
  for (var _i = 1; _i < arguments.length; _i++) {
19
19
  args[_i - 1] = arguments[_i];
20
20
  }
21
- return predicate() ? "" + str[0] + args[0] + str[1] : args[0];
21
+ return predicate() ? "".concat(str[0]).concat(args[0]).concat(str[1]) : args[0];
22
22
  }; };
23
+ exports.wrapIf = wrapIf;
23
24
  /**
24
25
  * @hidden
25
26
  */
26
- exports.toUTC = function (date) {
27
+ var toUTC = function (date) {
27
28
  return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
28
29
  };
30
+ exports.toUTC = toUTC;
29
31
  /**
30
32
  * @hidden
31
33
  */
32
- exports.quote = function (_a) {
34
+ var quote = function (_a) {
33
35
  var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;
34
36
  return ({
35
- value: "'" + value.replace(/'/g, "''") + "'",
37
+ value: "'".concat(value.replace(/'/g, "''"), "'"),
36
38
  field: field,
37
39
  ignoreCase: ignoreCase,
38
40
  operator: operator
39
41
  });
40
42
  };
43
+ exports.quote = quote;
41
44
  /**
42
45
  * @hidden
43
46
  */
44
- exports.encodeValue = function (_a) {
47
+ var encodeValue = function (_a) {
45
48
  var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;
46
49
  return ({
47
- value: "" + encodeURIComponent(value),
50
+ value: "".concat(encodeURIComponent(value)),
48
51
  field: field,
49
52
  ignoreCase: ignoreCase,
50
53
  operator: operator
51
54
  });
52
55
  };
56
+ exports.encodeValue = encodeValue;
53
57
  /**
54
58
  * @hidden
55
59
  */
56
- exports.toLower = function (_a) {
60
+ var toLower = function (_a) {
57
61
  var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;
58
62
  return ({
59
- field: exports.wrapIf(function () { return ignoreCase; })(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["tolower(", ")"], ["tolower(", ")"])), field),
63
+ field: (0, exports.wrapIf)(function () { return ignoreCase; })(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["tolower(", ")"], ["tolower(", ")"])), field),
60
64
  value: value,
61
65
  ignoreCase: ignoreCase,
62
66
  operator: operator
63
67
  });
64
68
  };
69
+ exports.toLower = toLower;
65
70
  /**
66
71
  * @hidden
67
72
  */
68
- exports.normalizeField = function (_a) {
73
+ var normalizeField = function (_a) {
69
74
  var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;
70
75
  return ({
71
76
  value: value,
@@ -74,22 +79,25 @@ exports.normalizeField = function (_a) {
74
79
  operator: operator
75
80
  });
76
81
  };
82
+ exports.normalizeField = normalizeField;
77
83
  /**
78
84
  * @hidden
79
85
  */
80
- exports.isStringValue = function (x) { return utils_1.isString(x.value); };
86
+ var isStringValue = function (x) { return (0, utils_1.isString)(x.value); };
87
+ exports.isStringValue = isStringValue;
81
88
  /**
82
89
  * @hidden
83
90
  */
84
- exports.isDateValue = function (x) { return utils_1.isDate(x.value); };
91
+ var isDateValue = function (x) { return (0, utils_1.isDate)(x.value); };
92
+ exports.isDateValue = isDateValue;
85
93
  /**
86
94
  * @hidden
87
95
  */
88
- exports.serializeFilters = function (map, join) { return function (filter) {
89
- var brackets = exports.wrapIf(function () { return filter.filters.length > 1; });
90
- return brackets(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject(["(", ")"], ["(",
91
- ")"])), filter.filters
96
+ var serializeFilters = function (map, join) { return function (filter) {
97
+ var brackets = (0, exports.wrapIf)(function () { return filter.filters.length > 1; });
98
+ return brackets(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject(["(", ")"], ["(", ")"])), filter.filters
92
99
  .map(map)
93
100
  .join(join(filter)));
94
101
  }; };
102
+ exports.serializeFilters = serializeFilters;
95
103
  var templateObject_1, templateObject_2;
@@ -1,9 +1,14 @@
1
1
  import { FilterOperator } from './operators.enum';
2
2
  /**
3
- * A basic filter expression. Usually is a part of [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}).
3
+ * A basic filter expression. Usually is a part of [`CompositeFilterDescriptor`]({% slug api_kendo-data-query_compositefilterdescriptor %}).
4
4
  *
5
- * For more information on filtering the provided data array, refer to the [filterBy]({% slug api_kendo-data-query_filterby %}) method.
5
+ * For more information on filtering the provided data array, refer to the [`filterBy`]({% slug api_kendo-data-query_filterby %}) method.
6
+ * {% platform_content angular %}
7
+ * For examples on using the `FilterDescriptor`, refer to the [documentation on filtering the Grid]({% slug manual_filtering_grid %}).
8
+ * {% endplatform_content %}
9
+ * {% platform_content react %}
6
10
  * For examples on using the `FilterDescriptor`, refer to the [documentation on filtering the Grid]({% slug filtering_grid %}).
11
+ * {% endplatform_content %}
7
12
  */
8
13
  export interface FilterDescriptor {
9
14
  /**
@@ -7,6 +7,7 @@ var utils_1 = require("../utils");
7
7
  * @hidden
8
8
  * Type guard for `CompositeFilterDescriptor`.
9
9
  */
10
- exports.isCompositeFilterDescriptor = function (source) {
11
- return utils_1.isPresent(source.filters);
10
+ var isCompositeFilterDescriptor = function (source) {
11
+ return (0, utils_1.isPresent)(source.filters);
12
12
  };
13
+ exports.isCompositeFilterDescriptor = isCompositeFilterDescriptor;
@@ -23,12 +23,13 @@ var filter_no_eval_1 = require("./filter-no-eval");
23
23
  * ```
24
24
  */
25
25
  // tslint:enable:max-line-length
26
- exports.compileFilter = function (descriptor) {
26
+ var compileFilter = function (descriptor) {
27
27
  if (!descriptor || descriptor.filters.length === 0) {
28
28
  return function () { return true; };
29
29
  }
30
- return filter_no_eval_1.transformCompositeFilter(descriptor);
30
+ return (0, filter_no_eval_1.transformCompositeFilter)(descriptor);
31
31
  };
32
+ exports.compileFilter = compileFilter;
32
33
  // tslint:disable:max-line-length
33
34
  /**
34
35
  * Filters the provided array according to the specified [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}).
@@ -60,9 +61,10 @@ exports.compileFilter = function (descriptor) {
60
61
  * ```
61
62
  */
62
63
  // tslint:enable:max-line-length
63
- exports.filterBy = function (data, descriptor) {
64
- if (!utils_1.isPresent(descriptor) || (filter_descriptor_interface_1.isCompositeFilterDescriptor(descriptor) && descriptor.filters.length === 0)) {
64
+ var filterBy = function (data, descriptor) {
65
+ if (!(0, utils_1.isPresent)(descriptor) || ((0, filter_descriptor_interface_1.isCompositeFilterDescriptor)(descriptor) && descriptor.filters.length === 0)) {
65
66
  return data;
66
67
  }
67
- return data.filter(exports.compileFilter(filter_operators_1.normalizeFilters(descriptor)));
68
+ return data.filter((0, exports.compileFilter)((0, filter_operators_1.normalizeFilters)(descriptor)));
68
69
  };
70
+ exports.filterBy = filterBy;
@@ -25,8 +25,8 @@ var operatorsMap = {
25
25
  gte: function (a, b) { return a >= b; },
26
26
  isempty: function (a) { return a === ''; },
27
27
  isnotempty: function (a) { return a !== ''; },
28
- isnotnull: function (a) { return utils_1.isPresent(a); },
29
- isnull: function (a) { return utils_1.isBlank(a); },
28
+ isnotnull: function (a) { return (0, utils_1.isPresent)(a); },
29
+ isnull: function (a) { return (0, utils_1.isBlank)(a); },
30
30
  lt: function (a, b) { return a < b; },
31
31
  lte: function (a, b) { return a <= b; },
32
32
  neq: function (a, b) { return a != b; },
@@ -34,7 +34,7 @@ var operatorsMap = {
34
34
  };
35
35
  var dateRegExp = /^\/Date\((.*?)\)\/$/;
36
36
  var convertValue = function (value, ignoreCase) {
37
- if (value != null && utils_1.isString(value)) {
37
+ if (value != null && (0, utils_1.isString)(value)) {
38
38
  var date = dateRegExp.exec(value);
39
39
  if (date) {
40
40
  return new Date(+date[1]).getTime();
@@ -43,17 +43,17 @@ var convertValue = function (value, ignoreCase) {
43
43
  return value.toLowerCase();
44
44
  }
45
45
  }
46
- else if (value != null && utils_1.isDate(value)) {
46
+ else if (value != null && (0, utils_1.isDate)(value)) {
47
47
  return value.getTime();
48
48
  }
49
49
  return value;
50
50
  };
51
51
  var typedGetter = function (prop, value, ignoreCase) {
52
- if (!utils_1.isPresent(value)) {
52
+ if (!(0, utils_1.isPresent)(value)) {
53
53
  return prop;
54
54
  }
55
55
  var acc = prop;
56
- if (utils_1.isString(value)) {
56
+ if ((0, utils_1.isString)(value)) {
57
57
  var date = dateRegExp.exec(value);
58
58
  if (date) {
59
59
  value = new Date(+date[1]);
@@ -61,39 +61,39 @@ var typedGetter = function (prop, value, ignoreCase) {
61
61
  else {
62
62
  acc = function (a) {
63
63
  var x = prop(a);
64
- if (typeof x === 'string' && ignoreCase) {
65
- return x.toLowerCase();
66
- }
67
- else {
68
- return utils_1.isNumeric(x) ? x + "" : x;
64
+ if (x === null) {
65
+ return x;
69
66
  }
67
+ var stringValue = typeof x === 'string' ? x : x + "";
68
+ return ignoreCase ? stringValue.toLowerCase() : stringValue;
70
69
  };
71
70
  }
72
71
  }
73
- if (utils_1.isDate(value)) {
72
+ if ((0, utils_1.isDate)(value)) {
74
73
  return function (a) {
75
74
  var x = acc(a);
76
- return utils_1.isDate(x) ? x.getTime() : x;
75
+ return (0, utils_1.isDate)(x) ? x.getTime() : x;
77
76
  };
78
77
  }
79
78
  return acc;
80
79
  };
81
80
  var transformFilter = function (_a) {
82
81
  var field = _a.field, ignoreCase = _a.ignoreCase, value = _a.value, operator = _a.operator;
83
- field = !utils_1.isPresent(field) ? function (a) { return a; } : field;
84
- ignoreCase = utils_1.isPresent(ignoreCase) ? ignoreCase : true;
85
- var itemProp = typedGetter(utils_1.isFunction(field) ? field : accessor_1.getter(field, true), value, ignoreCase);
82
+ field = !(0, utils_1.isPresent)(field) ? function (a) { return a; } : field;
83
+ ignoreCase = (0, utils_1.isPresent)(ignoreCase) ? ignoreCase : true;
84
+ var itemProp = typedGetter((0, utils_1.isFunction)(field) ? field : (0, accessor_1.getter)(field, true), value, ignoreCase);
86
85
  value = convertValue(value, ignoreCase);
87
- var op = utils_1.isFunction(operator) ? operator : operatorsMap[operator];
86
+ var op = (0, utils_1.isFunction)(operator) ? operator : operatorsMap[operator];
88
87
  return function (a) { return op(itemProp(a), value, ignoreCase); };
89
88
  };
90
89
  /**
91
90
  * @hidden
92
91
  */
93
- exports.transformCompositeFilter = function (filter) {
92
+ var transformCompositeFilter = function (filter) {
94
93
  var combiner = logic[filter.logic];
95
94
  return filter.filters
96
95
  .filter(utils_1.isPresent)
97
- .map(function (x) { return filter_descriptor_interface_1.isCompositeFilterDescriptor(x) ? exports.transformCompositeFilter(x) : transformFilter(x); })
96
+ .map(function (x) { return (0, filter_descriptor_interface_1.isCompositeFilterDescriptor)(x) ? (0, exports.transformCompositeFilter)(x) : transformFilter(x); })
98
97
  .reduce(combiner.concat, combiner.identity);
99
98
  };
99
+ exports.transformCompositeFilter = transformCompositeFilter;
@@ -1,6 +1,6 @@
1
1
  import { CompositeFilterDescriptor, FilterDescriptor } from './filter-descriptor.interface';
2
2
  /**
3
- * Converts a [FilterDescriptor]({% slug api_kendo-data-query_filterdescriptor %}) into a [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}). If a `CompositeFilterDescriptor` is passed, no modifications will be made.
3
+ * Converts a [`FilterDescriptor`]({% slug api_kendo-data-query_filterdescriptor %}) into a [`CompositeFilterDescriptor`]({% slug api_kendo-data-query_compositefilterdescriptor %}). If a `CompositeFilterDescriptor` is passed, no modifications will be made.
4
4
  *
5
5
  * @param {CompositeFilterDescriptor | FilterDescriptor} descriptor - The descriptor that will be normalized.
6
6
  * @returns {CompositeFilterDescriptor} - The normalized descriptor.
@@ -40,10 +40,10 @@ var normalizeOperator = function (descriptor) {
40
40
  if (descriptor.filters) {
41
41
  descriptor.filters = descriptor.filters.map(function (filter) {
42
42
  var result = Object.assign({}, filter);
43
- if (!filter_descriptor_interface_1.isCompositeFilterDescriptor(filter) && utils_1.isString(filter.operator)) {
43
+ if (!(0, filter_descriptor_interface_1.isCompositeFilterDescriptor)(filter) && (0, utils_1.isString)(filter.operator)) {
44
44
  result.operator = operatorMap(filter.operator);
45
45
  }
46
- if (filter_descriptor_interface_1.isCompositeFilterDescriptor(filter)) {
46
+ if ((0, filter_descriptor_interface_1.isCompositeFilterDescriptor)(filter)) {
47
47
  normalizeOperator(result);
48
48
  }
49
49
  return result;
@@ -51,9 +51,9 @@ var normalizeOperator = function (descriptor) {
51
51
  }
52
52
  };
53
53
  var normalizeDescriptor = function (descriptor) {
54
- if (!filter_descriptor_interface_1.isCompositeFilterDescriptor(descriptor)) {
54
+ if (!(0, filter_descriptor_interface_1.isCompositeFilterDescriptor)(descriptor)) {
55
55
  return {
56
- filters: utils_1.isArray(descriptor) ? descriptor : [descriptor],
56
+ filters: (0, utils_1.isArray)(descriptor) ? descriptor : [descriptor],
57
57
  logic: "and"
58
58
  };
59
59
  }
@@ -61,16 +61,17 @@ var normalizeDescriptor = function (descriptor) {
61
61
  };
62
62
  // tslint:disable:max-line-length
63
63
  /**
64
- * Converts a [FilterDescriptor]({% slug api_kendo-data-query_filterdescriptor %}) into a [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}). If a `CompositeFilterDescriptor` is passed, no modifications will be made.
64
+ * Converts a [`FilterDescriptor`]({% slug api_kendo-data-query_filterdescriptor %}) into a [`CompositeFilterDescriptor`]({% slug api_kendo-data-query_compositefilterdescriptor %}). If a `CompositeFilterDescriptor` is passed, no modifications will be made.
65
65
  *
66
66
  * @param {CompositeFilterDescriptor | FilterDescriptor} descriptor - The descriptor that will be normalized.
67
67
  * @returns {CompositeFilterDescriptor} - The normalized descriptor.
68
68
  */
69
69
  // tslint:enable:max-line-length
70
- exports.normalizeFilters = function (descriptor) {
71
- if (utils_1.isPresent(descriptor)) {
70
+ var normalizeFilters = function (descriptor) {
71
+ if ((0, utils_1.isPresent)(descriptor)) {
72
72
  descriptor = normalizeDescriptor(descriptor);
73
73
  normalizeOperator(descriptor);
74
74
  }
75
75
  return descriptor;
76
76
  };
77
+ exports.normalizeFilters = normalizeFilters;
@@ -71,4 +71,4 @@ var FilterOperator;
71
71
  * The `startswith` operator.
72
72
  */
73
73
  FilterOperator["StartsWith"] = "startswith";
74
- })(FilterOperator = exports.FilterOperator || (exports.FilterOperator = {}));
74
+ })(FilterOperator || (exports.FilterOperator = FilterOperator = {}));
package/dist/npm/funcs.js CHANGED
@@ -4,23 +4,27 @@ exports.identity = exports.constant = exports.compose = exports.ifElse = void 0;
4
4
  /**
5
5
  * @hidden
6
6
  */
7
- exports.ifElse = function (predicate, right, left) { return function (value) { return predicate(value) ? right(value) : left(value); }; };
7
+ var ifElse = function (predicate, right, left) { return function (value) { return predicate(value) ? right(value) : left(value); }; };
8
+ exports.ifElse = ifElse;
8
9
  /**
9
10
  * @hidden
10
11
  * Performs the right-to-left function composition. Functions should have a unary.
11
12
  */
12
- exports.compose = function () {
13
+ var compose = function () {
13
14
  var args = [];
14
15
  for (var _i = 0; _i < arguments.length; _i++) {
15
16
  args[_i] = arguments[_i];
16
17
  }
17
18
  return function (data) { return args.reduceRight(function (acc, curr) { return curr(acc); }, data); };
18
19
  };
20
+ exports.compose = compose;
19
21
  /**
20
22
  * @hidden
21
23
  */
22
- exports.constant = function (x) { return function () { return x; }; };
24
+ var constant = function (x) { return function () { return x; }; };
25
+ exports.constant = constant;
23
26
  /**
24
27
  * @hidden
25
28
  */
26
- exports.identity = function (x) { return x; };
29
+ var identity = function (x) { return x; };
30
+ exports.identity = identity;