@servicetitan/data-query 31.2.0 → 32.0.0

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 (57) hide show
  1. package/dist/accessor.js +7 -7
  2. package/dist/accessor.js.map +1 -1
  3. package/dist/array.operators.js +22 -23
  4. package/dist/array.operators.js.map +1 -1
  5. package/dist/common.interfaces.js +4 -1
  6. package/dist/common.interfaces.js.map +1 -1
  7. package/dist/data-result.interface.js +4 -1
  8. package/dist/data-result.interface.js.map +1 -1
  9. package/dist/data-source/async-data-source.js +28 -36
  10. package/dist/data-source/async-data-source.js.map +1 -1
  11. package/dist/data-source/data-source.js +2 -1
  12. package/dist/data-source/data-source.js.map +1 -1
  13. package/dist/data-source/in-memory-data-source.js +47 -50
  14. package/dist/data-source/in-memory-data-source.js.map +1 -1
  15. package/dist/data-source/index.js +2 -0
  16. package/dist/data-source/index.js.map +1 -1
  17. package/dist/filter-serialization.common.js +33 -43
  18. package/dist/filter-serialization.common.js.map +1 -1
  19. package/dist/filtering/filter-descriptor.interface.js +2 -2
  20. package/dist/filtering/filter-descriptor.interface.js.map +1 -1
  21. package/dist/filtering/filter-expression.factory.js +7 -8
  22. package/dist/filtering/filter-expression.factory.js.map +1 -1
  23. package/dist/filtering/filter-no-eval.js +42 -50
  24. package/dist/filtering/filter-no-eval.js.map +1 -1
  25. package/dist/filtering/filter.operators.js +42 -40
  26. package/dist/filtering/filter.operators.js.map +1 -1
  27. package/dist/funcs.js +5 -8
  28. package/dist/funcs.js.map +1 -1
  29. package/dist/grouping/aggregate.operators.js +4 -4
  30. package/dist/grouping/aggregate.operators.js.map +1 -1
  31. package/dist/grouping/group-descriptor.interface.js +4 -2
  32. package/dist/grouping/group-descriptor.interface.js.map +1 -1
  33. package/dist/grouping/group.operators.js +13 -12
  34. package/dist/grouping/group.operators.js.map +1 -1
  35. package/dist/index.js +13 -6
  36. package/dist/index.js.map +1 -1
  37. package/dist/mvc/deserialization.js +30 -31
  38. package/dist/mvc/deserialization.js.map +1 -1
  39. package/dist/mvc/operators.js +66 -48
  40. package/dist/mvc/operators.js.map +1 -1
  41. package/dist/odata-filtering.operators.js +68 -38
  42. package/dist/odata-filtering.operators.js.map +1 -1
  43. package/dist/odata.operators.js +12 -17
  44. package/dist/odata.operators.js.map +1 -1
  45. package/dist/sort-descriptor.js +4 -1
  46. package/dist/sort-descriptor.js.map +1 -1
  47. package/dist/sorting/sort-array.operator.js +10 -13
  48. package/dist/sorting/sort-array.operator.js.map +1 -1
  49. package/dist/sorting/sort.js +9 -10
  50. package/dist/sorting/sort.js.map +1 -1
  51. package/dist/state.js +4 -1
  52. package/dist/state.js.map +1 -1
  53. package/dist/transducers.js +93 -102
  54. package/dist/transducers.js.map +1 -1
  55. package/dist/utils.js +11 -20
  56. package/dist/utils.js.map +1 -1
  57. package/package.json +3 -3
@@ -1,24 +1,28 @@
1
1
  import { isPresent, isNumeric, isDate } from './utils';
2
2
  import { getter } from './accessor';
3
- const valueToString = (value) => {
3
+ const valueToString = (value)=>{
4
4
  value = isPresent(value) && value.getTime ? value.getTime() : value;
5
5
  return value + "";
6
6
  };
7
7
  /**
8
8
  * @hidden
9
- */
10
- export const groupCombinator = (field, preprocessors = {}) => {
11
- const prop = a => {
9
+ */ export const groupCombinator = (field, preprocessors = {})=>{
10
+ const prop = (a)=>{
12
11
  const value = getter(field, true)(a);
13
12
  const preprocessor = preprocessors[field];
14
13
  return preprocessor ? preprocessor(value) : value;
15
14
  };
16
15
  let position = 0;
17
- return (agg, value) => {
16
+ return (agg, value)=>{
18
17
  agg[field] = agg[field] || {};
19
18
  const groupValue = prop(value);
20
19
  const key = valueToString(groupValue);
21
- const values = agg[field][key] || { __position: position++, aggregates: {}, items: [], value: groupValue };
20
+ const values = agg[field][key] || {
21
+ __position: position++,
22
+ aggregates: {},
23
+ items: [],
24
+ value: groupValue
25
+ };
22
26
  values.items.push(value);
23
27
  agg[field][key] = values;
24
28
  return agg;
@@ -26,133 +30,123 @@ export const groupCombinator = (field, preprocessors = {}) => {
26
30
  };
27
31
  /**
28
32
  * @hidden
29
- */
30
- export const expandAggregates = (result = {}) => {
31
- Object.keys(result).forEach(field => {
33
+ */ export const expandAggregates = (result = {})=>{
34
+ Object.keys(result).forEach((field)=>{
32
35
  const aggregates = result[field];
33
- Object.keys(aggregates).forEach(aggregate => {
36
+ Object.keys(aggregates).forEach((aggregate)=>{
34
37
  aggregates[aggregate] = aggregates[aggregate].result();
35
38
  });
36
39
  });
37
40
  return result;
38
41
  };
39
- const aggregatesFuncs = (name) => ({
40
- average: () => {
41
- let value = 0;
42
- let count = 0;
43
- let lastNonNumeric = undefined;
44
- return {
45
- calc: (curr) => {
46
- if (isNumeric(curr)) {
47
- value += curr;
48
- count++;
49
- }
50
- else {
51
- lastNonNumeric = curr;
52
- }
53
- },
54
- result: () => count ? value / count : lastNonNumeric
55
- };
56
- },
57
- count: () => {
58
- let state = 0;
59
- return {
60
- calc: () => state++,
61
- result: () => state
62
- };
63
- },
64
- max: () => {
65
- let state = Number.NEGATIVE_INFINITY;
66
- return {
67
- calc: (value) => {
68
- state = isNumeric(state) || isDate(state) ? state : value;
69
- if (state < value && (isNumeric(value) || isDate(value))) {
70
- state = value;
71
- }
72
- },
73
- result: () => state
74
- };
75
- },
76
- min: () => {
77
- let state = Number.POSITIVE_INFINITY;
78
- return {
79
- calc: (value) => {
80
- state = isNumeric(state) || isDate(state) ? state : value;
81
- if (state > value && (isNumeric(value) || isDate(value))) {
82
- state = value;
83
- }
84
- },
85
- result: () => state
86
- };
87
- },
88
- sum: () => {
89
- let state = 0;
90
- return {
91
- calc: (value) => state += value,
92
- result: () => state
93
- };
94
- },
95
- count_distinct: () => {
96
- const state = new Set();
97
- return {
98
- calc: (value) => state.add(isPresent(value) && typeof value === 'object' && value.toString
99
- ? value.toString()
100
- : value),
101
- result: () => state.size,
102
- };
103
- }
104
- }[name]());
42
+ const aggregatesFuncs = (name)=>({
43
+ average: ()=>{
44
+ let value = 0;
45
+ let count = 0;
46
+ let lastNonNumeric = undefined;
47
+ return {
48
+ calc: (curr)=>{
49
+ if (isNumeric(curr)) {
50
+ value += curr;
51
+ count++;
52
+ } else {
53
+ lastNonNumeric = curr;
54
+ }
55
+ },
56
+ result: ()=>count ? value / count : lastNonNumeric
57
+ };
58
+ },
59
+ count: ()=>{
60
+ let state = 0;
61
+ return {
62
+ calc: ()=>state++,
63
+ result: ()=>state
64
+ };
65
+ },
66
+ max: ()=>{
67
+ let state = Number.NEGATIVE_INFINITY;
68
+ return {
69
+ calc: (value)=>{
70
+ state = isNumeric(state) || isDate(state) ? state : value;
71
+ if (state < value && (isNumeric(value) || isDate(value))) {
72
+ state = value;
73
+ }
74
+ },
75
+ result: ()=>state
76
+ };
77
+ },
78
+ min: ()=>{
79
+ let state = Number.POSITIVE_INFINITY;
80
+ return {
81
+ calc: (value)=>{
82
+ state = isNumeric(state) || isDate(state) ? state : value;
83
+ if (state > value && (isNumeric(value) || isDate(value))) {
84
+ state = value;
85
+ }
86
+ },
87
+ result: ()=>state
88
+ };
89
+ },
90
+ sum: ()=>{
91
+ let state = 0;
92
+ return {
93
+ calc: (value)=>state += value,
94
+ result: ()=>state
95
+ };
96
+ },
97
+ count_distinct: ()=>{
98
+ const state = new Set();
99
+ return {
100
+ calc: (value)=>state.add(isPresent(value) && typeof value === 'object' && value.toString ? value.toString() : value),
101
+ result: ()=>state.size
102
+ };
103
+ }
104
+ })[name]();
105
105
  /**
106
106
  * @hidden
107
- */
108
- export const aggregatesCombinator = (descriptors, preprocessors = {}) => {
109
- const functions = descriptors.map(descriptor => {
110
- const fieldAccessor = a => {
107
+ */ export const aggregatesCombinator = (descriptors, preprocessors = {})=>{
108
+ const functions = descriptors.map((descriptor)=>{
109
+ const fieldAccessor = (a)=>{
111
110
  const value = getter(descriptor.field, true)(a);
112
111
  const preprocessor = preprocessors[descriptor.field];
113
112
  return preprocessor ? preprocessor(value) : value;
114
113
  };
115
114
  const aggregateName = (descriptor.aggregate || "").toLowerCase();
116
115
  const aggregateAccessor = getter(aggregateName, true);
117
- return (state, value) => {
116
+ return (state, value)=>{
118
117
  const fieldAggregates = state[descriptor.field] || {};
119
- const aggregateFunction = aggregateAccessor(fieldAggregates)
120
- || aggregatesFuncs(aggregateName);
118
+ const aggregateFunction = aggregateAccessor(fieldAggregates) || aggregatesFuncs(aggregateName);
121
119
  aggregateFunction.calc(fieldAccessor(value));
122
120
  fieldAggregates[descriptor.aggregate] = aggregateFunction;
123
121
  state[descriptor.field] = fieldAggregates;
124
122
  return state;
125
123
  };
126
124
  });
127
- return (state, value) => functions.reduce((agg, calc) => calc(agg, value), state);
125
+ return (state, value)=>functions.reduce((agg, calc)=>calc(agg, value), state);
128
126
  };
129
127
  /**
130
128
  * @hidden
131
129
  * Adds the value to the `arr` and produces a new array.
132
130
  *
133
131
  * > The original array will be modified.
134
- */
135
- export const concat = (arr, value) => {
132
+ */ export const concat = (arr, value)=>{
136
133
  arr.push(value);
137
134
  return arr;
138
135
  };
139
136
  /**
140
137
  * @hidden
141
138
  * Returns a reducer that will apply the specified transformation to the value.
142
- */
143
- export const map = (transform) => ((reduce) => ((acc, curr, index) => reduce(acc, transform(curr, index))));
139
+ */ export const map = (transform)=>(reduce)=>(acc, curr, index)=>reduce(acc, transform(curr, index));
144
140
  /**
145
141
  * @hidden
146
142
  * Returns a reducer that will filter out items which do not match the `Predicate`.
147
- */
148
- export const filter = (predicate) => ((reduce) => ((acc, curr) => predicate(curr) ? reduce(acc, curr) : acc));
143
+ */ export const filter = (predicate)=>(reduce)=>(acc, curr)=>predicate(curr) ? reduce(acc, curr) : acc;
149
144
  /**
150
145
  * @hidden
151
- */
152
- export const isTransformerResult = (source) => {
146
+ */ export const isTransformerResult = (source)=>{
153
147
  return isPresent(source.__value);
154
148
  };
155
- const reduced = (x) => {
149
+ const reduced = (x)=>{
156
150
  if (isTransformerResult(x)) {
157
151
  return x;
158
152
  }
@@ -164,25 +158,21 @@ const reduced = (x) => {
164
158
  /**
165
159
  * @hidden
166
160
  * Returns a reducer that will take the specified number of items.
167
- */
168
- export const take = (count) => ((reduce) => ((acc, curr) => count-- > 0 ? reduce(acc, curr) : reduced(acc)));
161
+ */ export const take = (count)=>(reduce)=>(acc, curr)=>count-- > 0 ? reduce(acc, curr) : reduced(acc);
169
162
  /**
170
163
  * @hidden
171
164
  * Returns a reducer that will take the specified number of items.
172
- */
173
- export const takeWhile = (predicate) => ((reduce) => ((acc, curr) => predicate(curr) ? reduce(acc, curr) : reduced(acc)));
165
+ */ export const takeWhile = (predicate)=>(reduce)=>(acc, curr)=>predicate(curr) ? reduce(acc, curr) : reduced(acc);
174
166
  /**
175
167
  * @hidden
176
168
  * Returns a reducer that will skip the specified number of items.
177
- */
178
- export const skip = (count) => ((reduce) => ((acc, curr) => count-- <= 0 ? reduce(acc, curr) : acc));
169
+ */ export const skip = (count)=>(reduce)=>(acc, curr)=>count-- <= 0 ? reduce(acc, curr) : acc;
179
170
  /**
180
171
  * @hidden
181
172
  * Transforms the data by applying the supplied transformer.
182
- */
183
- export const exec = (transform, initialValue, data) => {
173
+ */ export const exec = (transform, initialValue, data)=>{
184
174
  let result = initialValue;
185
- for (let idx = 0, length = data.length; idx < length; idx++) {
175
+ for(let idx = 0, length = data.length; idx < length; idx++){
186
176
  result = transform(result, data[idx], idx);
187
177
  if (isTransformerResult(result)) {
188
178
  result = result.__value;
@@ -191,4 +181,5 @@ export const exec = (transform, initialValue, data) => {
191
181
  }
192
182
  return result;
193
183
  };
184
+
194
185
  //# sourceMappingURL=transducers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transducers.js","sourceRoot":"","sources":["../src/transducers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../src/transducers.ts"],"sourcesContent":["import { isPresent, isNumeric, isDate } from './utils';\nimport { getter } from './accessor';\nimport { Combinator, Predicate, Reducer, Transformer, TransformerResult, Preprocessors } from './common.interfaces';\n\nconst valueToString = (value): string => {\n value = isPresent(value) && value.getTime ? value.getTime() : value;\n return value + \"\";\n};\n\n/**\n * @hidden\n */\nexport const groupCombinator = <T>(field, preprocessors: Preprocessors<T> = {}) => {\n const prop = a => {\n const value = getter(field, true)(a);\n const preprocessor = preprocessors[field];\n return preprocessor ? preprocessor(value) : value;\n };\n\n let position = 0;\n\n return (agg, value) => {\n agg[field] = agg[field] || {};\n\n const groupValue = prop(value);\n const key = valueToString(groupValue);\n const values = agg[field][key] || { __position: position++, aggregates: {}, items: [], value: groupValue };\n\n values.items.push(value);\n\n agg[field][key] = values;\n\n return agg;\n };\n};\n\n// tslint:disable:max-line-length\n/**\n * The result of the [aggregate operation]({% slug api_kendo-data-query_aggregateby %}) where the keys are the field name used for the calculation and the values are an object with the aggregate function name and a resulting value.\n *\n * @example\n * ```js-no-run\n * const result = <AggregateResult>{\n * \"unitPrice\": { \"sum\": 53, \"count\": 2 },\n * \"unitsInStock\": { \"sum\": 66, \"count\": 3 }\n * };\n *\n * console.log(result[\"unitPrice\"].sum); //53\n *\n * ```\n */\n// tslint:enable:max-line-length\nexport interface AggregateResult {\n [fieldName: string]: {\n count?: number;\n sum?: number;\n average?: number;\n min?: number;\n max?: number;\n count_distinct?: number\n };\n}\n\n/**\n * @hidden\n */\nexport const expandAggregates = (result = {}): AggregateResult => {\n Object.keys(result).forEach(field => {\n const aggregates = result[field];\n Object.keys(aggregates).forEach(aggregate => {\n aggregates[aggregate] = aggregates[aggregate].result();\n });\n });\n return result;\n};\n\nconst aggregatesFuncs = (name) => ({\n average: () => {\n let value = 0;\n let count = 0;\n let lastNonNumeric: any = undefined;\n return {\n calc: (curr) => {\n if (isNumeric(curr)) {\n value += curr;\n count++;\n } else {\n lastNonNumeric = curr;\n }\n },\n result: () => count ? value / count : lastNonNumeric\n };\n },\n count: () => {\n let state = 0;\n return {\n calc: () => state++,\n result: () => state\n };\n },\n max: () => {\n let state = Number.NEGATIVE_INFINITY;\n return {\n calc: (value) => {\n state = isNumeric(state) || isDate(state) ? state : value;\n\n if (state < value && (isNumeric(value) || isDate(value))) {\n state = value;\n }\n },\n result: () => state\n };\n },\n min: () => {\n let state = Number.POSITIVE_INFINITY;\n return {\n calc: (value) => {\n state = isNumeric(state) || isDate(state) ? state : value;\n\n if (state > value && (isNumeric(value) || isDate(value))) {\n state = value;\n }\n },\n result: () => state\n };\n },\n sum: () => {\n let state = 0;\n return {\n calc: (value) => state += value,\n result: () => state\n };\n },\n count_distinct: () => {\n const state = new Set();\n return {\n calc: (value) => state.add(\n isPresent(value) && typeof value === 'object' && value.toString\n ? value.toString()\n : value\n ),\n result: () => state.size,\n };\n }\n}[name]());\n\n/**\n * @hidden\n */\nexport const aggregatesCombinator = <T>(descriptors, preprocessors: Preprocessors<T> = {}) => {\n const functions = descriptors.map(descriptor => {\n const fieldAccessor = a => {\n const value = getter(descriptor.field, true)(a);\n const preprocessor = preprocessors[descriptor.field];\n return preprocessor ? preprocessor(value) : value;\n };\n const aggregateName = (descriptor.aggregate || \"\").toLowerCase();\n const aggregateAccessor = getter(aggregateName, true);\n\n return (state, value) => {\n const fieldAggregates = state[descriptor.field] || {};\n\n const aggregateFunction = aggregateAccessor(fieldAggregates)\n || aggregatesFuncs(aggregateName);\n\n aggregateFunction.calc(fieldAccessor(value));\n\n fieldAggregates[descriptor.aggregate] = aggregateFunction;\n\n state[descriptor.field] = fieldAggregates;\n\n return state;\n };\n });\n\n return (state, value) => functions.reduce((agg, calc) => calc(agg, value), state);\n};\n\n/**\n * @hidden\n * Adds the value to the `arr` and produces a new array.\n *\n * > The original array will be modified.\n */\nexport const concat = <T>(arr: T[], value: T): T[] => {\n arr.push(value);\n return arr;\n};\n\n/**\n * @hidden\n * Returns a reducer that will apply the specified transformation to the value.\n */\nexport const map = (transform): Reducer => (\n (reduce: Combinator): Transformer => (\n (acc, curr, index) => reduce(acc, transform(curr, index))\n )\n);\n\n/**\n * @hidden\n * Returns a reducer that will filter out items which do not match the `Predicate`.\n */\nexport const filter = (predicate): Reducer => (\n (reduce: Combinator): Transformer => (\n (acc, curr) => predicate(curr) ? reduce(acc, curr) : acc\n )\n);\n\n/**\n * @hidden\n */\nexport const isTransformerResult = <T>(source: TransformerResult<T>): source is TransformerResult<T> => {\n return isPresent((<TransformerResult<T>>source).__value);\n};\n\nconst reduced = <T>(x): TransformerResult<T> => {\n if (isTransformerResult(x)) {\n return <TransformerResult<T>>x;\n }\n return {\n __value: x,\n reduced: true\n };\n};\n\n/**\n * @hidden\n * Returns a reducer that will take the specified number of items.\n */\nexport const take = (count: number): Reducer => (\n (reduce: Combinator): Transformer => (\n (acc, curr) => count-- > 0 ? reduce(acc, curr) : reduced(acc)\n )\n);\n\n/**\n * @hidden\n * Returns a reducer that will take the specified number of items.\n */\nexport const takeWhile = (predicate: Predicate): Reducer => (\n (reduce: Combinator): Transformer => (\n (acc, curr) => predicate(curr) ? reduce(acc, curr) : reduced(acc)\n )\n);\n\n/**\n * @hidden\n * Returns a reducer that will skip the specified number of items.\n */\nexport const skip = (count: number): Reducer => (\n (reduce: Combinator): Transformer => (\n (acc, curr) => count-- <= 0 ? reduce(acc, curr) : acc\n )\n);\n\n/**\n * @hidden\n * Transforms the data by applying the supplied transformer.\n */\nexport const exec = <T, U>(transform: Transformer, initialValue: U, data: T[]): U => {\n let result: any = initialValue;\n\n for (let idx = 0, length = data.length; idx < length; idx++) {\n result = transform(result, data[idx], idx);\n\n if (isTransformerResult(result)) {\n result = result.__value;\n break;\n }\n }\n\n return result;\n};\n"],"names":["isPresent","isNumeric","isDate","getter","valueToString","value","getTime","groupCombinator","field","preprocessors","prop","a","preprocessor","position","agg","groupValue","key","values","__position","aggregates","items","push","expandAggregates","result","Object","keys","forEach","aggregate","aggregatesFuncs","name","average","count","lastNonNumeric","undefined","calc","curr","state","max","Number","NEGATIVE_INFINITY","min","POSITIVE_INFINITY","sum","count_distinct","Set","add","toString","size","aggregatesCombinator","descriptors","functions","map","descriptor","fieldAccessor","aggregateName","toLowerCase","aggregateAccessor","fieldAggregates","aggregateFunction","reduce","concat","arr","transform","acc","index","filter","predicate","isTransformerResult","source","__value","reduced","x","take","takeWhile","skip","exec","initialValue","data","idx","length"],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -1,41 +1,32 @@
1
1
  /**
2
2
  * @hidden
3
- */
4
- export const isPresent = (value) => value !== null && value !== undefined;
3
+ */ export const isPresent = (value)=>value !== null && value !== undefined;
5
4
  /**
6
5
  * @hidden
7
- */
8
- export const isBlank = (value) => value === null || value === undefined;
6
+ */ export const isBlank = (value)=>value === null || value === undefined;
9
7
  /**
10
8
  * @hidden
11
- */
12
- export const isArray = (value) => Array.isArray(value);
9
+ */ export const isArray = (value)=>Array.isArray(value);
13
10
  /**
14
11
  * @hidden
15
- */
16
- export const isFunction = (value) => typeof value === 'function';
12
+ */ export const isFunction = (value)=>typeof value === 'function';
17
13
  /**
18
14
  * @hidden
19
- */
20
- export const isString = (value) => typeof value === 'string';
15
+ */ export const isString = (value)=>typeof value === 'string';
21
16
  /**
22
17
  * @hidden
23
- */
24
- export const isTruthy = (value) => !!value;
18
+ */ export const isTruthy = (value)=>!!value;
25
19
  /**
26
20
  * @hidden
27
- */
28
- export const isNullOrEmptyString = (value) => isBlank(value) || value.trim().length === 0;
21
+ */ export const isNullOrEmptyString = (value)=>isBlank(value) || value.trim().length === 0;
29
22
  /**
30
23
  * @hidden
31
- */
32
- export const isNotNullOrEmptyString = (value) => !isNullOrEmptyString(value);
24
+ */ export const isNotNullOrEmptyString = (value)=>!isNullOrEmptyString(value);
33
25
  /**
34
26
  * @hidden
35
- */
36
- export const isNumeric = (value) => !isNaN(value - parseFloat(value));
27
+ */ export const isNumeric = (value)=>!isNaN(value - parseFloat(value));
37
28
  /**
38
29
  * @hidden
39
- */
40
- export const isDate = (value) => value && value.getTime;
30
+ */ export const isDate = (value)=>value && value.getTime;
31
+
41
32
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAU,EAAW,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAExF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAa,CAAC,KAAU,EAAW,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAEhG;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAa,CAAC,KAAU,EAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAa,CAAC,KAAU,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC;AAEzF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAa,CAAC,KAAU,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;AAErF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAa,CAAC,KAAU,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AAE3G;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAE9F;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAa,CAAC,KAAU,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAE9F;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAa,CAAC,KAAU,EAAW,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC"}
1
+ {"version":3,"sources":["../src/utils.ts"],"sourcesContent":["\n/**\n * @hidden\n */\nexport const isPresent = (value: any): boolean => value !== null && value !== undefined;\n\n/**\n * @hidden\n */\nexport const isBlank: Function = (value: any): boolean => value === null || value === undefined;\n\n/**\n * @hidden\n */\nexport const isArray: Function = (value: any): boolean => Array.isArray(value);\n\n/**\n * @hidden\n */\nexport const isFunction: Function = (value: any): boolean => typeof value === 'function';\n\n/**\n * @hidden\n */\nexport const isString: Function = (value: any): boolean => typeof value === 'string';\n\n/**\n * @hidden\n */\nexport const isTruthy: Function = (value: any): boolean => !!value;\n\n/**\n * @hidden\n */\nexport const isNullOrEmptyString = (value: string): boolean => isBlank(value) || value.trim().length === 0;\n\n/**\n * @hidden\n */\nexport const isNotNullOrEmptyString = (value: string): boolean => !isNullOrEmptyString(value);\n\n/**\n * @hidden\n */\nexport const isNumeric: Function = (value: any): boolean => !isNaN(value - parseFloat(value));\n\n/**\n * @hidden\n */\nexport const isDate: Function = (value: any): boolean => value && value.getTime;\n\n/**\n * @hidden\n */\nexport type Pair<T, U> = [T, U];\n"],"names":["isPresent","value","undefined","isBlank","isArray","Array","isFunction","isString","isTruthy","isNullOrEmptyString","trim","length","isNotNullOrEmptyString","isNumeric","isNaN","parseFloat","isDate","getTime"],"mappings":"AACA;;CAEC,GACD,OAAO,MAAMA,YAAY,CAACC,QAAwBA,UAAU,QAAQA,UAAUC,UAAU;AAExF;;CAEC,GACD,OAAO,MAAMC,UAAoB,CAACF,QAAwBA,UAAU,QAAQA,UAAUC,UAAU;AAEhG;;CAEC,GACD,OAAO,MAAME,UAAoB,CAACH,QAAwBI,MAAMD,OAAO,CAACH,OAAO;AAE/E;;CAEC,GACD,OAAO,MAAMK,aAAuB,CAACL,QAAwB,OAAOA,UAAU,WAAW;AAEzF;;CAEC,GACD,OAAO,MAAMM,WAAqB,CAACN,QAAwB,OAAOA,UAAU,SAAS;AAErF;;CAEC,GACD,OAAO,MAAMO,WAAqB,CAACP,QAAwB,CAAC,CAACA,MAAM;AAEnE;;CAEC,GACD,OAAO,MAAMQ,sBAAsB,CAACR,QAA2BE,QAAQF,UAAUA,MAAMS,IAAI,GAAGC,MAAM,KAAK,EAAE;AAE3G;;CAEC,GACD,OAAO,MAAMC,yBAAyB,CAACX,QAA2B,CAACQ,oBAAoBR,OAAO;AAE9F;;CAEC,GACD,OAAO,MAAMY,YAAsB,CAACZ,QAAwB,CAACa,MAAMb,QAAQc,WAAWd,QAAQ;AAE9F;;CAEC,GACD,OAAO,MAAMe,SAAmB,CAACf,QAAwBA,SAASA,MAAMgB,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/data-query",
3
- "version": "31.2.0",
3
+ "version": "32.0.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,7 +16,7 @@
16
16
  ],
17
17
  "devDependencies": {
18
18
  "@progress/kendo-data-query": "~1.6.0",
19
- "@types/lodash": "~4.14.178",
19
+ "@types/lodash": "^4.14.191",
20
20
  "axios": "~0.30.0",
21
21
  "mobx": "~6.10.2"
22
22
  },
@@ -34,5 +34,5 @@
34
34
  "cli": {
35
35
  "webpack": false
36
36
  },
37
- "gitHead": "03cfa4dc1e3cb374c8593f568ae47d0996ac7bae"
37
+ "gitHead": "511315cbee77cc7c60f20d0d86d24f69779c85ed"
38
38
  }