dtable-utils 0.0.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/README.md +20 -0
  2. package/dist/index.js +1 -0
  3. package/es/cell-value-get/cell-value.js +165 -0
  4. package/es/cell-value-get/collaborator.js +33 -0
  5. package/es/cell-value-get/date.js +53 -0
  6. package/es/cell-value-get/digital-sign.js +10 -0
  7. package/es/cell-value-get/duration.js +86 -0
  8. package/es/cell-value-get/geolocation.js +74 -0
  9. package/es/cell-value-get/long-text.js +11 -0
  10. package/es/cell-value-get/number.js +222 -0
  11. package/es/cell-value-get/option.js +32 -0
  12. package/es/cell-value-set/number.js +53 -0
  13. package/es/column/common.js +41 -0
  14. package/es/column/date.js +17 -0
  15. package/es/column/number.js +31 -0
  16. package/es/common.js +16 -0
  17. package/es/constants/cell-type.js +33 -0
  18. package/es/constants/column.js +45 -0
  19. package/es/constants/filter/filter-column-options.js +65 -0
  20. package/es/constants/filter/filter-is-within.js +6 -0
  21. package/es/constants/filter/filter-modifier.js +29 -0
  22. package/es/constants/filter/filter-predicate.js +33 -0
  23. package/es/constants/filter/index.js +16 -0
  24. package/es/constants/formula.js +14 -0
  25. package/es/constants/select-option.js +129 -0
  26. package/es/date.js +226 -0
  27. package/es/helper/number-precision/index.js +64 -0
  28. package/es/index.js +26 -0
  29. package/es/validate/email.js +10 -0
  30. package/es/validate/filter.js +447 -0
  31. package/lib/cell-value-get/cell-value.js +170 -0
  32. package/lib/cell-value-get/collaborator.js +38 -0
  33. package/lib/cell-value-get/date.js +61 -0
  34. package/lib/cell-value-get/digital-sign.js +14 -0
  35. package/lib/cell-value-get/duration.js +90 -0
  36. package/lib/cell-value-get/geolocation.js +78 -0
  37. package/lib/cell-value-get/long-text.js +15 -0
  38. package/lib/cell-value-get/number.js +227 -0
  39. package/lib/cell-value-get/option.js +37 -0
  40. package/lib/cell-value-set/number.js +58 -0
  41. package/lib/column/common.js +46 -0
  42. package/lib/column/date.js +21 -0
  43. package/lib/column/number.js +36 -0
  44. package/lib/common.js +20 -0
  45. package/lib/constants/cell-type.js +37 -0
  46. package/lib/constants/column.js +63 -0
  47. package/lib/constants/filter/filter-column-options.js +73 -0
  48. package/lib/constants/filter/filter-is-within.js +11 -0
  49. package/lib/constants/filter/filter-modifier.js +38 -0
  50. package/lib/constants/filter/filter-predicate.js +42 -0
  51. package/lib/constants/filter/index.js +27 -0
  52. package/lib/constants/formula.js +23 -0
  53. package/lib/constants/select-option.js +134 -0
  54. package/lib/date.js +235 -0
  55. package/lib/helper/number-precision/index.js +69 -0
  56. package/lib/index.js +79 -0
  57. package/lib/validate/email.js +14 -0
  58. package/lib/validate/filter.js +458 -0
  59. package/package.json +44 -0
@@ -0,0 +1,222 @@
1
+ import { NPminus as minus } from '../helper/number-precision/index.js';
2
+ import { DEFAULT_NUMBER_FORMAT } from '../constants/column.js';
3
+ import { getDurationDisplayString } from './duration.js';
4
+
5
+ var separatorMap = {
6
+ comma: ',',
7
+ dot: '.',
8
+ no: '',
9
+ space: ' '
10
+ };
11
+
12
+ /**
13
+ * removeZerosFromEnd('0.0100') // '0.01'
14
+ * @param {string} sNumber string of numbers
15
+ */
16
+ var removeZerosFromEnd = function removeZerosFromEnd(sNumber) {
17
+ if (typeof sNumber !== 'string') return '';
18
+ if (sNumber.endsWith('0')) {
19
+ return sNumber.replace(/(?:\.0*|(\.\d+?)0+)$/, '$1');
20
+ }
21
+ return sNumber;
22
+ };
23
+
24
+ /**
25
+ * e.g. 1.23 // 2
26
+ * @param {number} number
27
+ * @returns digital length
28
+ */
29
+ var getDecimalDigitsFromNumber = function getDecimalDigitsFromNumber(number) {
30
+ if (Number.isInteger(number)) {
31
+ return 0;
32
+ }
33
+ var decimalPart = String(number).split('.')[1];
34
+ var digitsLength = decimalPart ? decimalPart.length : 8;
35
+ return digitsLength > 8 ? 8 : digitsLength;
36
+ };
37
+ var toThousands = function toThousands(number, _ref) {
38
+ var formats = _ref.formats,
39
+ _ref$isCurrency = _ref.isCurrency,
40
+ isCurrency = _ref$isCurrency === void 0 ? true : _ref$isCurrency;
41
+ var _ref2 = formats || {},
42
+ _ref2$decimal = _ref2.decimal,
43
+ decimal = _ref2$decimal === void 0 ? 'dot' : _ref2$decimal,
44
+ _ref2$thousands = _ref2.thousands,
45
+ thousands = _ref2$thousands === void 0 ? 'no' : _ref2$thousands,
46
+ _ref2$precision = _ref2.precision,
47
+ precision = _ref2$precision === void 0 ? 2 : _ref2$precision,
48
+ _ref2$enable_precisio = _ref2.enable_precision,
49
+ enable_precision = _ref2$enable_precisio === void 0 ? false : _ref2$enable_precisio;
50
+
51
+ // handle numbers in scientific notation
52
+ if (String(number).includes('e')) {
53
+ if (number < 1 && number > -1) {
54
+ // 1.convert to non-scientific number
55
+ var numericString = number.toFixed(enable_precision ? precision : 8);
56
+
57
+ // 2.remove 0 from end of the number which not set precision. e.g. 0.100000
58
+ if (!enable_precision) {
59
+ numericString = removeZerosFromEnd(numericString);
60
+ }
61
+
62
+ // 3.remove minus from number which equal to 0. e.g. '-0.00'
63
+ if (parseFloat(numericString) === 0) {
64
+ return numericString.startsWith('-') ? numericString.substring(1) : numericString;
65
+ }
66
+ return numericString;
67
+ }
68
+ return number;
69
+ }
70
+ var decimalString = separatorMap[decimal];
71
+ var thousandsString = separatorMap[thousands];
72
+ var decimalDigits = enable_precision ? precision : getDecimalDigitsFromNumber(number);
73
+ var floatNumber = parseFloat(number.toFixed(decimalDigits));
74
+ var isMinus = floatNumber < 0;
75
+ var integer = Math.trunc(floatNumber);
76
+
77
+ // format decimal part
78
+ var decimalPart = String(Math.abs(minus(floatNumber, integer)).toFixed(decimalDigits)).slice(1);
79
+ if (!enable_precision) {
80
+ decimalPart = removeZerosFromEnd(decimalPart);
81
+ }
82
+ if (isCurrency) {
83
+ if (!enable_precision) {
84
+ decimalPart = decimalPart.length === 2 ? decimalPart = decimalPart.padEnd(3, '0') : (decimalPart.substring(0, 3) || '.').padEnd(3, '0');
85
+ }
86
+ }
87
+ decimalPart = decimalPart.replace(/./, decimalString);
88
+
89
+ // format integer part
90
+ var integerNumbers = [];
91
+ var counter = 0;
92
+ integer = Math.abs(integer).toString();
93
+ for (var i = integer.length - 1; i > -1; i--) {
94
+ counter += 1;
95
+ integerNumbers.unshift(integer[i]);
96
+ if (!(counter % 3) && i !== 0) {
97
+ integerNumbers.unshift(thousandsString);
98
+ }
99
+ }
100
+ return "".concat(isMinus ? '-' : '').concat(integerNumbers.join('')).concat(decimalPart);
101
+ };
102
+
103
+ /**
104
+ * Get formatted number
105
+ * @param {number} number e.g. 123
106
+ * @param {object} formats e.g. { format: 'number', decimal: 'dot', ... }
107
+ * @returns formatted number, string
108
+ */
109
+ var getNumberDisplayString = function getNumberDisplayString(number, formats) {
110
+ var type = Object.prototype.toString.call(number);
111
+ if (type !== '[object Number]') {
112
+ // return formula internal errors directly.
113
+ if (type === '[object String]' && number.startsWith('#')) {
114
+ return number;
115
+ }
116
+ return '';
117
+ }
118
+ if (isNaN(number) || number === Infinity || number === -Infinity) return String(number);
119
+
120
+ // formats: old version maybe 'null'
121
+ var _ref3 = formats || {},
122
+ _ref3$format = _ref3.format,
123
+ format = _ref3$format === void 0 ? DEFAULT_NUMBER_FORMAT : _ref3$format;
124
+ switch (format) {
125
+ case 'number':
126
+ {
127
+ return toThousands(number, {
128
+ formats: formats,
129
+ isCurrency: false
130
+ });
131
+ }
132
+ case 'percent':
133
+ {
134
+ return "".concat(toThousands(Number.parseFloat((number * 100).toFixed(8)), {
135
+ formats: formats,
136
+ isCurrency: false
137
+ }), "%");
138
+ }
139
+ case 'yuan':
140
+ {
141
+ return "\uFFE5".concat(toThousands(number, {
142
+ formats: formats
143
+ }));
144
+ }
145
+ case 'dollar':
146
+ {
147
+ return "$".concat(toThousands(number, {
148
+ formats: formats
149
+ }));
150
+ }
151
+ case 'euro':
152
+ {
153
+ return "\u20AC".concat(toThousands(number, {
154
+ formats: formats
155
+ }));
156
+ }
157
+ case 'duration':
158
+ {
159
+ return getDurationDisplayString(number, formats);
160
+ }
161
+ case 'custom_currency':
162
+ {
163
+ if (formats.currency_symbol_position === 'after') {
164
+ return "".concat(toThousands(number, {
165
+ formats: formats
166
+ })).concat(formats.currency_symbol || '');
167
+ }
168
+ return "".concat(formats.currency_symbol || '').concat(toThousands(number, {
169
+ formats: formats
170
+ }));
171
+ }
172
+ default:
173
+ {
174
+ return String(number);
175
+ }
176
+ }
177
+ };
178
+
179
+ /**
180
+ * Remove illegal characters
181
+ * @param {string} sNum e.g. "1。23"
182
+ * @param {string} format e.g. "number"
183
+ * @param {string} currencySymbol custom symbol
184
+ * @returns legal characters, string
185
+ */
186
+ var replaceNumberNotAllowInput = function replaceNumberNotAllowInput(sNum, format, currencySymbol) {
187
+ if (!sNum) {
188
+ return '';
189
+ }
190
+ var fixedSNum = sNum.replace(/。/g, '.');
191
+ switch (format) {
192
+ case 'percent':
193
+ {
194
+ return fixedSNum.replace(/[^.-\d,%]/g, '');
195
+ }
196
+ case 'yuan':
197
+ {
198
+ return fixedSNum.replace(/[^.-\d¥¥,]/g, '');
199
+ }
200
+ case 'dollar':
201
+ {
202
+ return fixedSNum.replace(/[^.-\d$,]/g, '');
203
+ }
204
+ case 'euro':
205
+ {
206
+ return fixedSNum.replace(/[^.-\d€,]/g, '');
207
+ }
208
+ case 'custom_currency':
209
+ {
210
+ // eslint-disable-next-line
211
+ var reg = new RegExp('[^.-\d' + currencySymbol + ',]', 'g');
212
+ return fixedSNum.replace(reg, '');
213
+ }
214
+ default:
215
+ {
216
+ // default as number format
217
+ return fixedSNum.replace(/[^.-\d,]/g, '');
218
+ }
219
+ }
220
+ };
221
+
222
+ export { getNumberDisplayString, replaceNumberNotAllowInput };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Get option name of the given id
3
+ * @param {array} options e.g. [ { id: '', color: '', name: '' } ]
4
+ * @param {string} targetOptionID option id
5
+ * @returns option name, string
6
+ */
7
+ var getOptionName = function getOptionName(options, targetOptionID) {
8
+ if (!targetOptionID || !Array.isArray(options)) return '';
9
+ var targetOption = options.find(function (option) {
10
+ return option.id === targetOptionID;
11
+ });
12
+ return targetOption ? targetOption.name : '';
13
+ };
14
+
15
+ /**
16
+ * Get concatenated options names of given ids.
17
+ * @param {array} options e.g. [ { id: '', color: '', name: '' }, ... ]
18
+ * @param {array} targetOptionsIds e.g. [ option.id, ... ]
19
+ * @returns concatenated options names, string. e.g. 'name1, name2'
20
+ */
21
+ var getMultipleOptionName = function getMultipleOptionName(options, targetOptionsIds) {
22
+ if (!Array.isArray(targetOptionsIds) || !Array.isArray(options)) return '';
23
+ var selectedOptions = options.filter(function (option) {
24
+ return targetOptionsIds.includes(option.id);
25
+ });
26
+ if (selectedOptions.length === 0) return '';
27
+ return selectedOptions.map(function (option) {
28
+ return option.name;
29
+ }).join(', ');
30
+ };
31
+
32
+ export { getMultipleOptionName, getOptionName };
@@ -0,0 +1,53 @@
1
+ import { NPdivide as divide } from '../helper/number-precision/index.js';
2
+
3
+ /**
4
+ * @param {string} sNumber e.g. '1.23'
5
+ * @param {string} format e.g. 'percent'
6
+ * @returns float number from string. e.g. '1.23' = 1.23
7
+ */
8
+ var getFloatNumber = function getFloatNumber(sNumber, format) {
9
+ if (!sNumber && sNumber !== 0) {
10
+ return null;
11
+ }
12
+ if (typeof sNumber === 'number') return sNumber;
13
+ if (typeof sNumber !== 'string') return null;
14
+ var parsedNum = parseFloat(sNumber.replace(/[^.-\d]/g, ''));
15
+ if (format === 'percent' && !isNaN(parsedNum)) {
16
+ return divide(parsedNum, 100);
17
+ }
18
+ return isNaN(parsedNum) ? null : parsedNum;
19
+ };
20
+
21
+ /**
22
+ * parse string to number depend on formats
23
+ * @param {string} sNum e.g. '1.23'
24
+ * @param {object} formats { format, decimal, ... }
25
+ * @returns parsed number
26
+ */
27
+ var formatStringToNumber = function formatStringToNumber(sNum, formats) {
28
+ var _ref = formats || {},
29
+ format = _ref.format,
30
+ decimal = _ref.decimal,
31
+ thousands = _ref.thousands,
32
+ enable_precision = _ref.enable_precision,
33
+ precision = _ref.precision;
34
+ var value = sNum;
35
+ if (decimal && thousands && decimal === 'comma') {
36
+ if (thousands === 'dot') {
37
+ value = value.replace(/,/, '@');
38
+ value = value.replace(/\./g, ',');
39
+ value = value.replace(/@/, '.');
40
+ } else {
41
+ value = value.replace(/\./g, '');
42
+ value = value.replace(/,/, '.');
43
+ }
44
+ }
45
+ value = getFloatNumber(value, format);
46
+ if (enable_precision && value) {
47
+ var fixedPrecision = format === 'percent' ? precision + 2 : precision;
48
+ value = Number(parseFloat(value).toFixed(fixedPrecision));
49
+ }
50
+ return value;
51
+ };
52
+
53
+ export { formatStringToNumber, getFloatNumber };
@@ -0,0 +1,41 @@
1
+ import { CellType } from '../constants/cell-type.js';
2
+ import { FORMULA_COLUMN_TYPES_MAP, FORMULA_RESULT_TYPE } from '../constants/formula.js';
3
+
4
+ /**
5
+ * Get column type.
6
+ * @param {object} column { type: 'xxx', ... }
7
+ * @returns column type
8
+ */
9
+ var getCheckType = function getCheckType(column) {
10
+ var type = column.type,
11
+ data = column.data;
12
+ if (FORMULA_COLUMN_TYPES_MAP[type]) {
13
+ var _ref = data || {},
14
+ result_type = _ref.result_type,
15
+ array_type = _ref.array_type;
16
+ if (result_type === FORMULA_RESULT_TYPE.ARRAY) {
17
+ return array_type;
18
+ }
19
+ return result_type;
20
+ }
21
+ if (type === CellType.LINK) {
22
+ var _ref2 = data || {},
23
+ _array_type = _ref2.array_type;
24
+ return _array_type;
25
+ }
26
+ return type;
27
+ };
28
+
29
+ /**
30
+ * Get options from single-select/multiple-select column.
31
+ * @param {object} column e.g. { type, data: { options: [] } }
32
+ * @returns options, array
33
+ */
34
+ var getColumnOptions = function getColumnOptions(column) {
35
+ if (!column || !column.data || !Array.isArray(column.data.options)) {
36
+ return [];
37
+ }
38
+ return column.data.options;
39
+ };
40
+
41
+ export { getCheckType, getColumnOptions };
@@ -0,0 +1,17 @@
1
+ import { getCheckType } from './common.js';
2
+ import { DATE_COLUMN_OPTIONS } from '../constants/column.js';
3
+
4
+ /**
5
+ * Check whether is date column:
6
+ * - column type is date, ctime or mtime etc.
7
+ * - column type is formula and result_type is date
8
+ * - column type is link/link_fromula and array_type is date, ctime or mtime etc.
9
+ * @param {object} column e.g. { type, data }
10
+ * @returns true/false, bool
11
+ */
12
+ var isDateColumn = function isDateColumn(column) {
13
+ var checkType = getCheckType(column);
14
+ return DATE_COLUMN_OPTIONS.includes(checkType);
15
+ };
16
+
17
+ export { isDateColumn };
@@ -0,0 +1,31 @@
1
+ import { getCheckType } from './common.js';
2
+ import { CellType } from '../constants/cell-type.js';
3
+ import { NUMERIC_COLUMNS_TYPES } from '../constants/column.js';
4
+
5
+ /**
6
+ * Check whether is numeric column:
7
+ * - column type is number, duration or rate etc.
8
+ * - column type is formula and result_type is number
9
+ * - column type is link/link_formula and array_type is number, duration or rate etc.
10
+ * @param {object} column e.g. { type, data }
11
+ * @returns true/false, bool
12
+ */
13
+ var isNumericColumn = function isNumericColumn(column) {
14
+ var checkType = getCheckType(column);
15
+ return NUMERIC_COLUMNS_TYPES.includes(checkType);
16
+ };
17
+
18
+ /**
19
+ * Check whether is number column:
20
+ * - column type is number
21
+ * - column type is formula and result_type is number
22
+ * - column type is link/link_formula and array_type is number
23
+ * @param {object} column e.g. { type, data }
24
+ * @returns true/false, bool
25
+ */
26
+ var isNumberColumn = function isNumberColumn(column) {
27
+ var checkType = getCheckType(column);
28
+ return checkType === CellType.NUMBER;
29
+ };
30
+
31
+ export { isNumberColumn, isNumericColumn };
package/es/common.js ADDED
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Generate a random string of specified length.
3
+ * @param {number} keyLength
4
+ * @returns random code, string
5
+ */
6
+ var generatorBase64Code = function generatorBase64Code() {
7
+ var keyLength = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 4;
8
+ var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789';
9
+ var key = '';
10
+ for (var i = 0; i < keyLength; i++) {
11
+ key += possible.charAt(Math.floor(Math.random() * possible.length));
12
+ }
13
+ return key;
14
+ };
15
+
16
+ export { generatorBase64Code };
@@ -0,0 +1,33 @@
1
+ var CellType = {
2
+ DEFAULT: 'default',
3
+ NUMBER: 'number',
4
+ TEXT: 'text',
5
+ CHECKBOX: 'checkbox',
6
+ DATE: 'date',
7
+ SINGLE_SELECT: 'single-select',
8
+ LONG_TEXT: 'long-text',
9
+ IMAGE: 'image',
10
+ FILE: 'file',
11
+ MULTIPLE_SELECT: 'multiple-select',
12
+ COLLABORATOR: 'collaborator',
13
+ LINK: 'link',
14
+ FORMULA: 'formula',
15
+ LINK_FORMULA: 'link-formula',
16
+ CREATOR: 'creator',
17
+ CTIME: 'ctime',
18
+ LAST_MODIFIER: 'last-modifier',
19
+ MTIME: 'mtime',
20
+ GEOLOCATION: 'geolocation',
21
+ AUTO_NUMBER: 'auto-number',
22
+ URL: 'url',
23
+ EMAIL: 'email',
24
+ DURATION: 'duration',
25
+ BUTTON: 'button',
26
+ RATE: 'rate',
27
+ DIGITAL_SIGN: 'digital-sign',
28
+ // formula | link-formula column calculate result type
29
+ BOOL: 'bool',
30
+ STRING: 'string'
31
+ };
32
+
33
+ export { CellType };
@@ -0,0 +1,45 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { CellType } from './cell-type.js';
3
+
4
+ var _COLUMNS_ICON_CONFIG, _DURATION_DECIMAL_DIG, _DURATION_ZERO_DISPLA;
5
+ var COLUMNS_ICON_CONFIG = (_COLUMNS_ICON_CONFIG = {}, _defineProperty(_COLUMNS_ICON_CONFIG, CellType.DEFAULT, 'dtable-font dtable-icon-single-line-text'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.TEXT, 'dtable-font dtable-icon-single-line-text'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.NUMBER, 'dtable-font dtable-icon-number'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.CHECKBOX, 'dtable-font dtable-icon-check-square-solid'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.DATE, 'dtable-font dtable-icon-calendar-alt-solid'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.SINGLE_SELECT, 'dtable-font dtable-icon-single-election'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.LONG_TEXT, 'dtable-font dtable-icon-long-text'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.IMAGE, 'dtable-font dtable-icon-picture'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.FILE, 'dtable-font dtable-icon-file-alt-solid'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.MULTIPLE_SELECT, 'dtable-font dtable-icon-multiple-selection'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.COLLABORATOR, 'dtable-font dtable-icon-collaborator'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.LINK, 'dtable-font dtable-icon-link-other-record'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.FORMULA, 'dtable-font dtable-icon-formula'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.LINK_FORMULA, 'dtable-font dtable-icon-link-formulas'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.CREATOR, 'dtable-font dtable-icon-creator'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.CTIME, 'dtable-font dtable-icon-creation-time'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.LAST_MODIFIER, 'dtable-font dtable-icon-creator'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.MTIME, 'dtable-font dtable-icon-creation-time'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.GEOLOCATION, 'dtable-font dtable-icon-location'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.AUTO_NUMBER, 'dtable-font dtable-icon-autonumber'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.URL, 'dtable-font dtable-icon-url'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.EMAIL, 'dtable-font dtable-icon-email'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.DURATION, 'dtable-font dtable-icon-duration'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.BUTTON, 'dtable-font dtable-icon-button'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.RATE, 'dtable-font dtable-icon-rate'), _defineProperty(_COLUMNS_ICON_CONFIG, CellType.DIGITAL_SIGN, 'dtable-font dtable-icon-handwritten-signature'), _COLUMNS_ICON_CONFIG);
6
+ var DATE_COLUMN_OPTIONS = [CellType.DATE, CellType.CTIME, CellType.MTIME];
7
+ var NUMERIC_COLUMNS_TYPES = [CellType.NUMBER, CellType.DURATION, CellType.RATE];
8
+ var COLLABORATOR_COLUMN_TYPES = [CellType.COLLABORATOR, CellType.CREATOR, CellType.LAST_MODIFIER];
9
+
10
+ // date
11
+ var DEFAULT_DATE_FORMAT = 'YYYY-MM-DD';
12
+ var DATE_UNIT = {
13
+ YEAR: 'year',
14
+ MONTH: 'month',
15
+ WEEK: 'week',
16
+ DAY: 'day',
17
+ HOUR: 'hour',
18
+ HOURS: 'hours',
19
+ MINUTE: 'minute',
20
+ MINUTES: 'minutes',
21
+ SECOND: 'second'
22
+ };
23
+
24
+ // duration
25
+ var DURATION_FORMATS_MAP = {
26
+ H_MM: 'h:mm',
27
+ H_MM_SS: 'h:mm:ss',
28
+ H_MM_SS_S: 'h:mm:ss.s',
29
+ H_MM_SS_SS: 'h:mm:ss.ss',
30
+ H_MM_SS_SSS: 'h:mm:ss.sss'
31
+ };
32
+ var DURATION_FORMATS = [{
33
+ name: DURATION_FORMATS_MAP.H_MM,
34
+ type: DURATION_FORMATS_MAP.H_MM
35
+ }, {
36
+ name: DURATION_FORMATS_MAP.H_MM_SS,
37
+ type: DURATION_FORMATS_MAP.H_MM_SS
38
+ }];
39
+ var DURATION_DECIMAL_DIGITS = (_DURATION_DECIMAL_DIG = {}, _defineProperty(_DURATION_DECIMAL_DIG, DURATION_FORMATS_MAP.H_MM, 0), _defineProperty(_DURATION_DECIMAL_DIG, DURATION_FORMATS_MAP.H_MM_SS, 0), _defineProperty(_DURATION_DECIMAL_DIG, DURATION_FORMATS_MAP.H_MM_SS_S, 1), _defineProperty(_DURATION_DECIMAL_DIG, DURATION_FORMATS_MAP.H_MM_SS_SS, 2), _defineProperty(_DURATION_DECIMAL_DIG, DURATION_FORMATS_MAP.H_MM_SS_SSS, 3), _DURATION_DECIMAL_DIG);
40
+ var DURATION_ZERO_DISPLAY = (_DURATION_ZERO_DISPLA = {}, _defineProperty(_DURATION_ZERO_DISPLA, DURATION_FORMATS_MAP.H_MM, '0:00'), _defineProperty(_DURATION_ZERO_DISPLA, DURATION_FORMATS_MAP.H_MM_SS, '0:00'), _defineProperty(_DURATION_ZERO_DISPLA, DURATION_FORMATS_MAP.H_MM_SS_S, '0:00.0'), _defineProperty(_DURATION_ZERO_DISPLA, DURATION_FORMATS_MAP.H_MM_SS_SS, '0:00.00'), _defineProperty(_DURATION_ZERO_DISPLA, DURATION_FORMATS_MAP.H_MM_SS_SSS, '0:00.000'), _DURATION_ZERO_DISPLA);
41
+
42
+ // number
43
+ var DEFAULT_NUMBER_FORMAT = 'number';
44
+
45
+ export { COLLABORATOR_COLUMN_TYPES, COLUMNS_ICON_CONFIG, DATE_COLUMN_OPTIONS, DATE_UNIT, DEFAULT_DATE_FORMAT, DEFAULT_NUMBER_FORMAT, DURATION_DECIMAL_DIGITS, DURATION_FORMATS, DURATION_FORMATS_MAP, DURATION_ZERO_DISPLAY, NUMERIC_COLUMNS_TYPES };
@@ -0,0 +1,65 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { CellType } from '../cell-type.js';
3
+ import { FILTER_TERM_MODIFIER_TYPE } from './filter-modifier.js';
4
+ import { FILTER_PREDICATE_TYPE } from './filter-predicate.js';
5
+
6
+ var _FILTER_COLUMN_OPTION;
7
+ var textPredicates = [FILTER_PREDICATE_TYPE.CONTAINS, FILTER_PREDICATE_TYPE.NOT_CONTAIN, FILTER_PREDICATE_TYPE.IS, FILTER_PREDICATE_TYPE.IS_NOT, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY, FILTER_PREDICATE_TYPE.IS_CURRENT_USER_ID];
8
+ var numberPredicates = [FILTER_PREDICATE_TYPE.EQUAL, FILTER_PREDICATE_TYPE.NOT_EQUAL, FILTER_PREDICATE_TYPE.LESS, FILTER_PREDICATE_TYPE.GREATER, FILTER_PREDICATE_TYPE.LESS_OR_EQUAL, FILTER_PREDICATE_TYPE.GREATER_OR_EQUAL, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY];
9
+ var datePredicates = [FILTER_PREDICATE_TYPE.IS, FILTER_PREDICATE_TYPE.IS_WITHIN, FILTER_PREDICATE_TYPE.IS_BEFORE, FILTER_PREDICATE_TYPE.IS_AFTER, FILTER_PREDICATE_TYPE.IS_ON_OR_BEFORE, FILTER_PREDICATE_TYPE.IS_ON_OR_AFTER, FILTER_PREDICATE_TYPE.IS_NOT, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY];
10
+ var geolocationPredicates = textPredicates.filter(function (predicate) {
11
+ return predicate !== FILTER_PREDICATE_TYPE.IS_CURRENT_USER_ID;
12
+ });
13
+ var dateTermModifiers = [FILTER_TERM_MODIFIER_TYPE.TODAY, FILTER_TERM_MODIFIER_TYPE.TOMORROW, FILTER_TERM_MODIFIER_TYPE.YESTERDAY, FILTER_TERM_MODIFIER_TYPE.ONE_WEEK_AGO, FILTER_TERM_MODIFIER_TYPE.ONE_WEEK_FROM_NOW, FILTER_TERM_MODIFIER_TYPE.ONE_MONTH_AGO, FILTER_TERM_MODIFIER_TYPE.ONE_MONTH_FROM_NOW, FILTER_TERM_MODIFIER_TYPE.NUMBER_OF_DAYS_AGO, FILTER_TERM_MODIFIER_TYPE.NUMBER_OF_DAYS_FROM_NOW, FILTER_TERM_MODIFIER_TYPE.EXACT_DATE];
14
+ var FILTER_COLUMN_OPTIONS = (_FILTER_COLUMN_OPTION = {}, _defineProperty(_FILTER_COLUMN_OPTION, CellType.TEXT, {
15
+ filterPredicateList: textPredicates
16
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.NUMBER, {
17
+ filterPredicateList: numberPredicates
18
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.CHECKBOX, {
19
+ filterPredicateList: [FILTER_PREDICATE_TYPE.IS]
20
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.DATE, {
21
+ filterPredicateList: datePredicates,
22
+ filterTermModifierList: dateTermModifiers
23
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.CTIME, {
24
+ filterPredicateList: datePredicates,
25
+ filterTermModifierList: dateTermModifiers
26
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.MTIME, {
27
+ filterPredicateList: datePredicates,
28
+ filterTermModifierList: dateTermModifiers
29
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.SINGLE_SELECT, {
30
+ filterPredicateList: [FILTER_PREDICATE_TYPE.IS, FILTER_PREDICATE_TYPE.IS_NOT, FILTER_PREDICATE_TYPE.IS_ANY_OF, FILTER_PREDICATE_TYPE.IS_NONE_OF, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
31
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.MULTIPLE_SELECT, {
32
+ filterPredicateList: [FILTER_PREDICATE_TYPE.HAS_ANY_OF, FILTER_PREDICATE_TYPE.HAS_ALL_OF, FILTER_PREDICATE_TYPE.HAS_NONE_OF, FILTER_PREDICATE_TYPE.IS_EXACTLY, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
33
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.COLLABORATOR, {
34
+ filterPredicateList: [FILTER_PREDICATE_TYPE.HAS_ANY_OF, FILTER_PREDICATE_TYPE.HAS_ALL_OF, FILTER_PREDICATE_TYPE.HAS_NONE_OF, FILTER_PREDICATE_TYPE.IS_EXACTLY, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY, FILTER_PREDICATE_TYPE.INCLUDE_ME]
35
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.CREATOR, {
36
+ filterPredicateList: [FILTER_PREDICATE_TYPE.CONTAINS, FILTER_PREDICATE_TYPE.NOT_CONTAIN, FILTER_PREDICATE_TYPE.INCLUDE_ME, FILTER_PREDICATE_TYPE.IS, FILTER_PREDICATE_TYPE.IS_NOT]
37
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.GEOLOCATION, {
38
+ filterPredicateList: geolocationPredicates
39
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.FORMULA, {}), _defineProperty(_FILTER_COLUMN_OPTION, CellType.LINK_FORMULA, {}), _defineProperty(_FILTER_COLUMN_OPTION, CellType.LINK, {}), _defineProperty(_FILTER_COLUMN_OPTION, CellType.LAST_MODIFIER, {
40
+ filterPredicateList: [FILTER_PREDICATE_TYPE.CONTAINS, FILTER_PREDICATE_TYPE.NOT_CONTAIN, FILTER_PREDICATE_TYPE.INCLUDE_ME, FILTER_PREDICATE_TYPE.IS, FILTER_PREDICATE_TYPE.IS_NOT]
41
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.AUTO_NUMBER, {
42
+ filterPredicateList: [FILTER_PREDICATE_TYPE.CONTAINS, FILTER_PREDICATE_TYPE.NOT_CONTAIN, FILTER_PREDICATE_TYPE.IS, FILTER_PREDICATE_TYPE.IS_NOT]
43
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.EMAIL, {
44
+ filterPredicateList: [FILTER_PREDICATE_TYPE.CONTAINS, FILTER_PREDICATE_TYPE.NOT_CONTAIN, FILTER_PREDICATE_TYPE.IS, FILTER_PREDICATE_TYPE.IS_NOT, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
45
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.URL, {
46
+ filterPredicateList: [FILTER_PREDICATE_TYPE.CONTAINS, FILTER_PREDICATE_TYPE.NOT_CONTAIN, FILTER_PREDICATE_TYPE.IS, FILTER_PREDICATE_TYPE.IS_NOT, FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
47
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.IMAGE, {
48
+ filterPredicateList: [FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
49
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.FILE, {
50
+ filterPredicateList: [FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
51
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.LONG_TEXT, {
52
+ filterPredicateList: [FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
53
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.DURATION, {
54
+ filterPredicateList: numberPredicates
55
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.RATE, {
56
+ filterPredicateList: numberPredicates
57
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.DIGITAL_SIGN, {
58
+ filterPredicateList: [FILTER_PREDICATE_TYPE.EMPTY, FILTER_PREDICATE_TYPE.NOT_EMPTY]
59
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.STRING, {
60
+ filterPredicateList: textPredicates
61
+ }), _defineProperty(_FILTER_COLUMN_OPTION, CellType.BOOL, {
62
+ filterPredicateList: [FILTER_PREDICATE_TYPE.IS]
63
+ }), _FILTER_COLUMN_OPTION);
64
+
65
+ export { FILTER_COLUMN_OPTIONS };
@@ -0,0 +1,6 @@
1
+ import { FILTER_TERM_MODIFIER_TYPE } from './filter-modifier.js';
2
+
3
+ var filterTermModifierNotWithin = [FILTER_TERM_MODIFIER_TYPE.EXACT_DATE, FILTER_TERM_MODIFIER_TYPE.TODAY, FILTER_TERM_MODIFIER_TYPE.TOMORROW, FILTER_TERM_MODIFIER_TYPE.YESTERDAY, FILTER_TERM_MODIFIER_TYPE.ONE_WEEK_AGO, FILTER_TERM_MODIFIER_TYPE.ONE_WEEK_FROM_NOW, FILTER_TERM_MODIFIER_TYPE.ONE_MONTH_AGO, FILTER_TERM_MODIFIER_TYPE.ONE_MONTH_FROM_NOW, FILTER_TERM_MODIFIER_TYPE.NUMBER_OF_DAYS_AGO, FILTER_TERM_MODIFIER_TYPE.NUMBER_OF_DAYS_FROM_NOW];
4
+ var filterTermModifierIsWithin = [FILTER_TERM_MODIFIER_TYPE.THE_PAST_WEEK, FILTER_TERM_MODIFIER_TYPE.THE_PAST_MONTH, FILTER_TERM_MODIFIER_TYPE.THE_PAST_YEAR, FILTER_TERM_MODIFIER_TYPE.THIS_WEEK, FILTER_TERM_MODIFIER_TYPE.THIS_MONTH, FILTER_TERM_MODIFIER_TYPE.THIS_YEAR, FILTER_TERM_MODIFIER_TYPE.THE_NEXT_WEEK, FILTER_TERM_MODIFIER_TYPE.THE_NEXT_MONTH, FILTER_TERM_MODIFIER_TYPE.THE_NEXT_YEAR, FILTER_TERM_MODIFIER_TYPE.THE_NEXT_NUMBERS_OF_DAYS, FILTER_TERM_MODIFIER_TYPE.THE_PAST_NUMBERS_OF_DAYS];
5
+
6
+ export { filterTermModifierIsWithin, filterTermModifierNotWithin };
@@ -0,0 +1,29 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+
3
+ var _FILTER_TERM_MODIFIER;
4
+ var FILTER_TERM_MODIFIER_TYPE = {
5
+ TODAY: 'today',
6
+ TOMORROW: 'tomorrow',
7
+ YESTERDAY: 'yesterday',
8
+ ONE_WEEK_AGO: 'one_week_ago',
9
+ ONE_WEEK_FROM_NOW: 'one_week_from_now',
10
+ ONE_MONTH_AGO: 'one_month_ago',
11
+ ONE_MONTH_FROM_NOW: 'one_month_from_now',
12
+ NUMBER_OF_DAYS_AGO: 'number_of_days_ago',
13
+ NUMBER_OF_DAYS_FROM_NOW: 'number_of_days_from_now',
14
+ EXACT_DATE: 'exact_date',
15
+ THE_PAST_WEEK: 'the_past_week',
16
+ THE_PAST_MONTH: 'the_past_month',
17
+ THE_PAST_YEAR: 'the_past_year',
18
+ THE_NEXT_WEEK: 'the_next_week',
19
+ THE_NEXT_MONTH: 'the_next_month',
20
+ THE_NEXT_YEAR: 'the_next_year',
21
+ THE_NEXT_NUMBERS_OF_DAYS: 'the_next_numbers_of_days',
22
+ THE_PAST_NUMBERS_OF_DAYS: 'the_past_numbers_of_days',
23
+ THIS_WEEK: 'this_week',
24
+ THIS_MONTH: 'this_month',
25
+ THIS_YEAR: 'this_year'
26
+ };
27
+ var FILTER_TERM_MODIFIER_SHOW = (_FILTER_TERM_MODIFIER = {}, _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.TODAY, 'today'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.TOMORROW, 'tomorrow'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.YESTERDAY, 'yesterday'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.ONE_WEEK_AGO, 'one week ago'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.ONE_WEEK_FROM_NOW, 'one week from now'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.ONE_MONTH_AGO, 'one month ago'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.ONE_MONTH_FROM_NOW, 'one month from now'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.NUMBER_OF_DAYS_AGO, 'number of days ago'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.NUMBER_OF_DAYS_FROM_NOW, 'number of days from now'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.EXACT_DATE, 'exact date'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THE_PAST_WEEK, 'the past week'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THE_PAST_MONTH, 'the past month'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THE_PAST_YEAR, 'the past year'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THE_NEXT_WEEK, 'the next week'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THE_NEXT_MONTH, 'the next month'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THE_NEXT_YEAR, 'the next year'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THE_NEXT_NUMBERS_OF_DAYS, 'the next numbers of days...'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THE_PAST_NUMBERS_OF_DAYS, 'the past numbers of days...'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THIS_WEEK, 'this week'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THIS_MONTH, 'this month'), _defineProperty(_FILTER_TERM_MODIFIER, FILTER_TERM_MODIFIER_TYPE.THIS_YEAR, 'this year'), _FILTER_TERM_MODIFIER);
28
+
29
+ export { FILTER_TERM_MODIFIER_SHOW, FILTER_TERM_MODIFIER_TYPE };
@@ -0,0 +1,33 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+
3
+ var _FILTER_PREDICATE_SHO;
4
+ var FILTER_PREDICATE_TYPE = {
5
+ CONTAINS: 'contains',
6
+ NOT_CONTAIN: 'does_not_contain',
7
+ IS: 'is',
8
+ IS_NOT: 'is_not',
9
+ EQUAL: 'equal',
10
+ NOT_EQUAL: 'not_equal',
11
+ LESS: 'less',
12
+ GREATER: 'greater',
13
+ LESS_OR_EQUAL: 'less_or_equal',
14
+ GREATER_OR_EQUAL: 'greater_or_equal',
15
+ EMPTY: 'is_empty',
16
+ NOT_EMPTY: 'is_not_empty',
17
+ IS_WITHIN: 'is_within',
18
+ IS_BEFORE: 'is_before',
19
+ IS_AFTER: 'is_after',
20
+ IS_ON_OR_BEFORE: 'is_on_or_before',
21
+ IS_ON_OR_AFTER: 'is_on_or_after',
22
+ HAS_ANY_OF: 'has_any_of',
23
+ HAS_ALL_OF: 'has_all_of',
24
+ HAS_NONE_OF: 'has_none_of',
25
+ IS_EXACTLY: 'is_exactly',
26
+ INCLUDE_ME: 'include_me',
27
+ IS_CURRENT_USER_ID: 'is_current_user_ID',
28
+ IS_ANY_OF: 'is_any_of',
29
+ IS_NONE_OF: 'is_none_of'
30
+ };
31
+ var FILTER_PREDICATE_SHOW = (_FILTER_PREDICATE_SHO = {}, _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.CONTAINS, 'contains'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.NOT_CONTAIN, 'does not contain'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.IS, 'is'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.IS_NOT, 'is not'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.EQUAL, "="), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.NOT_EQUAL, "\u2260"), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.LESS, "<"), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.GREATER, ">"), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.LESS_OR_EQUAL, "\u2264"), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.GREATER_OR_EQUAL, "\u2265"), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.EMPTY, 'is empty'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.NOT_EMPTY, 'is not empty'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.IS_WITHIN, 'is within...'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.IS_BEFORE, 'is before...'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.IS_AFTER, 'is after...'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.IS_ON_OR_BEFORE, 'is on or before...'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.IS_ON_OR_AFTER, 'is on or after...'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.HAS_ANY_OF, 'has any of...'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.HAS_ALL_OF, 'has all of...'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.HAS_NONE_OF, 'has none of...'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.IS_EXACTLY, 'is exactly...'), _defineProperty(_FILTER_PREDICATE_SHO, FILTER_PREDICATE_TYPE.IS_CURRENT_USER_ID, 'is current user\'s ID'), _FILTER_PREDICATE_SHO);
32
+
33
+ export { FILTER_PREDICATE_SHOW, FILTER_PREDICATE_TYPE };
@@ -0,0 +1,16 @@
1
+ export { FILTER_COLUMN_OPTIONS } from './filter-column-options.js';
2
+ export { FILTER_TERM_MODIFIER_SHOW, FILTER_TERM_MODIFIER_TYPE } from './filter-modifier.js';
3
+ export { FILTER_PREDICATE_SHOW, FILTER_PREDICATE_TYPE } from './filter-predicate.js';
4
+ export { filterTermModifierIsWithin, filterTermModifierNotWithin } from './filter-is-within.js';
5
+
6
+ var FILTER_ERR_MSG = {
7
+ INVALID_FILTER: 'invalid filter',
8
+ INCOMPLETE_FILTER: 'incomplete filter',
9
+ COLUMN_MISSING: 'the column to filter does not exist',
10
+ COLUMN_NOT_SUPPORTED: 'the column to filter is not supported',
11
+ UNMATCHED_PREDICATE: 'unmatched filter predicate',
12
+ UNMATCHED_MODIFIER: 'unmatched filter modifier',
13
+ INVALID_TERM: 'invalid filter term'
14
+ };
15
+
16
+ export { FILTER_ERR_MSG };