@chilibase/backend 0.1.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 (168) hide show
  1. package/README.md +3 -0
  2. package/lib/administration/x-browse-meta.entity.d.ts +8 -0
  3. package/lib/administration/x-browse-meta.entity.js +42 -0
  4. package/lib/administration/x-browse-meta.entity.js.map +1 -0
  5. package/lib/administration/x-column-meta.entity.d.ts +11 -0
  6. package/lib/administration/x-column-meta.entity.js +59 -0
  7. package/lib/administration/x-column-meta.entity.js.map +1 -0
  8. package/lib/administration/x-enum-enum.entity.d.ts +12 -0
  9. package/lib/administration/x-enum-enum.entity.js +59 -0
  10. package/lib/administration/x-enum-enum.entity.js.map +1 -0
  11. package/lib/administration/x-enum.entity.d.ts +10 -0
  12. package/lib/administration/x-enum.entity.js +54 -0
  13. package/lib/administration/x-enum.entity.js.map +1 -0
  14. package/lib/administration/x-file.entity.d.ts +10 -0
  15. package/lib/administration/x-file.entity.js +53 -0
  16. package/lib/administration/x-file.entity.js.map +1 -0
  17. package/lib/administration/x-param.entity.d.ts +10 -0
  18. package/lib/administration/x-param.entity.js +54 -0
  19. package/lib/administration/x-param.entity.js.map +1 -0
  20. package/lib/administration/x-user.entity.d.ts +11 -0
  21. package/lib/administration/x-user.entity.js +63 -0
  22. package/lib/administration/x-user.entity.js.map +1 -0
  23. package/lib/auth/auth.module.d.ts +2 -0
  24. package/lib/auth/auth.module.js +19 -0
  25. package/lib/auth/auth.module.js.map +1 -0
  26. package/lib/auth/jwt-auth.guard.d.ts +10 -0
  27. package/lib/auth/jwt-auth.guard.js +36 -0
  28. package/lib/auth/jwt-auth.guard.js.map +1 -0
  29. package/lib/auth/jwt.strategy.d.ts +9 -0
  30. package/lib/auth/jwt.strategy.js +60 -0
  31. package/lib/auth/jwt.strategy.js.map +1 -0
  32. package/lib/auth/public.d.ts +2 -0
  33. package/lib/auth/public.js +4 -0
  34. package/lib/auth/public.js.map +1 -0
  35. package/lib/serverApi/ExportImportParam.d.ts +70 -0
  36. package/lib/serverApi/ExportImportParam.js +33 -0
  37. package/lib/serverApi/ExportImportParam.js.map +1 -0
  38. package/lib/serverApi/FindParam.d.ts +59 -0
  39. package/lib/serverApi/FindParam.js +20 -0
  40. package/lib/serverApi/FindParam.js.map +1 -0
  41. package/lib/serverApi/FindResult.d.ts +8 -0
  42. package/lib/serverApi/FindResult.js +2 -0
  43. package/lib/serverApi/FindResult.js.map +1 -0
  44. package/lib/serverApi/PrimeFilterSortMeta.d.ts +43 -0
  45. package/lib/serverApi/PrimeFilterSortMeta.js +32 -0
  46. package/lib/serverApi/PrimeFilterSortMeta.js.map +1 -0
  47. package/lib/serverApi/XBrowseMetadata.d.ts +4 -0
  48. package/lib/serverApi/XBrowseMetadata.js +2 -0
  49. package/lib/serverApi/XBrowseMetadata.js.map +1 -0
  50. package/lib/serverApi/XEntityMetadata.d.ts +35 -0
  51. package/lib/serverApi/XEntityMetadata.js +2 -0
  52. package/lib/serverApi/XEntityMetadata.js.map +1 -0
  53. package/lib/serverApi/XFileJsonField.d.ts +6 -0
  54. package/lib/serverApi/XFileJsonField.js +2 -0
  55. package/lib/serverApi/XFileJsonField.js.map +1 -0
  56. package/lib/serverApi/XPostLoginIfc.d.ts +7 -0
  57. package/lib/serverApi/XPostLoginIfc.js +2 -0
  58. package/lib/serverApi/XPostLoginIfc.js.map +1 -0
  59. package/lib/serverApi/XUser.d.ts +8 -0
  60. package/lib/serverApi/XUser.js +2 -0
  61. package/lib/serverApi/XUser.js.map +1 -0
  62. package/lib/serverApi/XUserAuthenticationIfc.d.ts +9 -0
  63. package/lib/serverApi/XUserAuthenticationIfc.js +2 -0
  64. package/lib/serverApi/XUserAuthenticationIfc.js.map +1 -0
  65. package/lib/serverApi/XUtilsCommon.d.ts +48 -0
  66. package/lib/serverApi/XUtilsCommon.js +409 -0
  67. package/lib/serverApi/XUtilsCommon.js.map +1 -0
  68. package/lib/serverApi/XUtilsConversions.d.ts +37 -0
  69. package/lib/serverApi/XUtilsConversions.js +386 -0
  70. package/lib/serverApi/XUtilsConversions.js.map +1 -0
  71. package/lib/serverApi/XUtilsMetadataCommon.d.ts +29 -0
  72. package/lib/serverApi/XUtilsMetadataCommon.js +170 -0
  73. package/lib/serverApi/XUtilsMetadataCommon.js.map +1 -0
  74. package/lib/serverApi/index.d.ts +2 -0
  75. package/lib/serverApi/index.js +3 -0
  76. package/lib/serverApi/index.js.map +1 -0
  77. package/lib/serverApi/x-lib-api.d.ts +12 -0
  78. package/lib/serverApi/x-lib-api.js +2 -0
  79. package/lib/serverApi/x-lib-api.js.map +1 -0
  80. package/lib/services/FindParamRows.d.ts +8 -0
  81. package/lib/services/FindParamRows.js +2 -0
  82. package/lib/services/FindParamRows.js.map +1 -0
  83. package/lib/services/FindParamRowsForAssoc.d.ts +6 -0
  84. package/lib/services/FindParamRowsForAssoc.js +2 -0
  85. package/lib/services/FindParamRowsForAssoc.js.map +1 -0
  86. package/lib/services/FindRowByIdParam.d.ts +5 -0
  87. package/lib/services/FindRowByIdParam.js +2 -0
  88. package/lib/services/FindRowByIdParam.js.map +1 -0
  89. package/lib/services/GetAssocNameParam.d.ts +4 -0
  90. package/lib/services/GetAssocNameParam.js +2 -0
  91. package/lib/services/GetAssocNameParam.js.map +1 -0
  92. package/lib/services/RemoveRowParam.d.ts +5 -0
  93. package/lib/services/RemoveRowParam.js +2 -0
  94. package/lib/services/RemoveRowParam.js.map +1 -0
  95. package/lib/services/SaveRowParam.d.ts +5 -0
  96. package/lib/services/SaveRowParam.js +2 -0
  97. package/lib/services/SaveRowParam.js.map +1 -0
  98. package/lib/services/XAdvancedConsoleLogger.d.ts +4 -0
  99. package/lib/services/XAdvancedConsoleLogger.js +25 -0
  100. package/lib/services/XAdvancedConsoleLogger.js.map +1 -0
  101. package/lib/services/XAppError.d.ts +3 -0
  102. package/lib/services/XAppError.js +8 -0
  103. package/lib/services/XAppError.js.map +1 -0
  104. package/lib/services/XEnvVars.d.ts +23 -0
  105. package/lib/services/XEnvVars.js +27 -0
  106. package/lib/services/XEnvVars.js.map +1 -0
  107. package/lib/services/XOptimisticLockingSubscriber.d.ts +4 -0
  108. package/lib/services/XOptimisticLockingSubscriber.js +23 -0
  109. package/lib/services/XOptimisticLockingSubscriber.js.map +1 -0
  110. package/lib/services/XRowIdListToRemove.d.ts +10 -0
  111. package/lib/services/XRowIdListToRemove.js +26 -0
  112. package/lib/services/XRowIdListToRemove.js.map +1 -0
  113. package/lib/services/XUtils.d.ts +16 -0
  114. package/lib/services/XUtils.js +58 -0
  115. package/lib/services/XUtils.js.map +1 -0
  116. package/lib/services/index.d.ts +4 -0
  117. package/lib/services/index.js +5 -0
  118. package/lib/services/index.js.map +1 -0
  119. package/lib/services/x-browse-form-metadata.service.d.ts +7 -0
  120. package/lib/services/x-browse-form-metadata.service.js +40 -0
  121. package/lib/services/x-browse-form-metadata.service.js.map +1 -0
  122. package/lib/services/x-entity-metadata.service.d.ts +15 -0
  123. package/lib/services/x-entity-metadata.service.js +127 -0
  124. package/lib/services/x-entity-metadata.service.js.map +1 -0
  125. package/lib/services/x-exception.filter.d.ts +4 -0
  126. package/lib/services/x-exception.filter.js +64 -0
  127. package/lib/services/x-exception.filter.js.map +1 -0
  128. package/lib/services/x-export-csv.service.d.ts +24 -0
  129. package/lib/services/x-export-csv.service.js +155 -0
  130. package/lib/services/x-export-csv.service.js.map +1 -0
  131. package/lib/services/x-export-excel.service.d.ts +12 -0
  132. package/lib/services/x-export-excel.service.js +68 -0
  133. package/lib/services/x-export-excel.service.js.map +1 -0
  134. package/lib/services/x-export-json.service.d.ts +7 -0
  135. package/lib/services/x-export-json.service.js +45 -0
  136. package/lib/services/x-export-json.service.js.map +1 -0
  137. package/lib/services/x-export.service.d.ts +14 -0
  138. package/lib/services/x-export.service.js +90 -0
  139. package/lib/services/x-export.service.js.map +1 -0
  140. package/lib/services/x-file.controller.d.ts +13 -0
  141. package/lib/services/x-file.controller.js +111 -0
  142. package/lib/services/x-file.controller.js.map +1 -0
  143. package/lib/services/x-file.service.d.ts +8 -0
  144. package/lib/services/x-file.service.js +41 -0
  145. package/lib/services/x-file.service.js.map +1 -0
  146. package/lib/services/x-lazy-data-table.service.d.ts +33 -0
  147. package/lib/services/x-lazy-data-table.service.js +227 -0
  148. package/lib/services/x-lazy-data-table.service.js.map +1 -0
  149. package/lib/services/x-lib.controller.d.ts +45 -0
  150. package/lib/services/x-lib.controller.js +205 -0
  151. package/lib/services/x-lib.controller.js.map +1 -0
  152. package/lib/services/x-lib.module.d.ts +4 -0
  153. package/lib/services/x-lib.module.js +51 -0
  154. package/lib/services/x-lib.module.js.map +1 -0
  155. package/lib/services/x-lib.service.d.ts +33 -0
  156. package/lib/services/x-lib.service.js +264 -0
  157. package/lib/services/x-lib.service.js.map +1 -0
  158. package/lib/tsconfig.tsbuildinfo +1 -0
  159. package/lib/x-query-data/XMainQueryData.d.ts +27 -0
  160. package/lib/x-query-data/XMainQueryData.js +172 -0
  161. package/lib/x-query-data/XMainQueryData.js.map +1 -0
  162. package/lib/x-query-data/XQueryData.d.ts +33 -0
  163. package/lib/x-query-data/XQueryData.js +242 -0
  164. package/lib/x-query-data/XQueryData.js.map +1 -0
  165. package/lib/x-query-data/XSubQueryData.d.ts +11 -0
  166. package/lib/x-query-data/XSubQueryData.js +52 -0
  167. package/lib/x-query-data/XSubQueryData.js.map +1 -0
  168. package/package.json +100 -0
@@ -0,0 +1,409 @@
1
+ import { XUtilsMetadataCommon } from "./XUtilsMetadataCommon.js";
2
+ import { AsUIType, convertValue, dateAsYYYY_MM_DD, dateFormat, datetimeFormat } from "./XUtilsConversions.js";
3
+ export class XUtilsCommon {
4
+ static newLine = '\n';
5
+ static getValueByPath(object, path) {
6
+ const [field, restPath] = XUtilsCommon.getFieldAndRestPath(path);
7
+ if (restPath === null) {
8
+ return object[field];
9
+ }
10
+ else {
11
+ const assocObject = object[field];
12
+ if (assocObject !== null && assocObject !== undefined) {
13
+ return XUtilsCommon.getValueByPath(assocObject, restPath);
14
+ }
15
+ else {
16
+ return null;
17
+ }
18
+ }
19
+ }
20
+ static getValueOrValueListByPath(object, path) {
21
+ const [field, restPath] = XUtilsCommon.getFieldAndRestPath(path);
22
+ if (restPath === null) {
23
+ return object[field];
24
+ }
25
+ else {
26
+ const assocObject = object[field];
27
+ if (Array.isArray(assocObject)) {
28
+ const resultValueList = [];
29
+ for (const assocObjectItem of assocObject) {
30
+ if (assocObjectItem !== null && assocObjectItem !== undefined) {
31
+ const itemValue = XUtilsCommon.getValueOrValueListByPath(assocObjectItem, restPath);
32
+ if (Array.isArray(itemValue)) {
33
+ resultValueList.push(...itemValue);
34
+ }
35
+ else {
36
+ resultValueList.push(itemValue);
37
+ }
38
+ }
39
+ else {
40
+ resultValueList.push(null);
41
+ }
42
+ }
43
+ return resultValueList;
44
+ }
45
+ else {
46
+ if (assocObject !== null && assocObject !== undefined) {
47
+ return XUtilsCommon.getValueOrValueListByPath(assocObject, restPath);
48
+ }
49
+ else {
50
+ return null;
51
+ }
52
+ }
53
+ }
54
+ }
55
+ static setValueByPath(object, path, value) {
56
+ const [pathToAssoc, field] = XUtilsCommon.getPathToAssocAndField(path);
57
+ if (pathToAssoc !== null) {
58
+ const assocObject = XUtilsCommon.getValueByPath(object, pathToAssoc);
59
+ if (assocObject === null || assocObject === undefined || typeof assocObject !== 'object') {
60
+ console.log(`XUtilsCommon.setValueByPath: could not set value ${value} into object property ${path}. Assoc object not found (found value: ${assocObject}). Main object:`);
61
+ console.log(object);
62
+ throw `setValueByPath: could not set value ${value} into object property ${path}. Assoc object not found. The main object can be seen in log.`;
63
+ }
64
+ object = assocObject;
65
+ }
66
+ object[field] = value;
67
+ }
68
+ static getFieldListForPath(path) {
69
+ return path.split('.');
70
+ }
71
+ static getFieldAndRestPath(path) {
72
+ const posDot = path.indexOf(".");
73
+ if (posDot === -1) {
74
+ return [path, null];
75
+ }
76
+ else {
77
+ const assocField = path.substring(0, posDot);
78
+ const restPath = path.substring(posDot + 1);
79
+ return [assocField, restPath];
80
+ }
81
+ }
82
+ static getPathToAssoc(path) {
83
+ const posDot = path.lastIndexOf(".");
84
+ if (posDot === -1) {
85
+ throw `Path to assoc could not be retrieved. Path ${path} must have at least 2 items.`;
86
+ }
87
+ else {
88
+ return path.substring(0, posDot);
89
+ }
90
+ }
91
+ static getPathToAssocAndField(path) {
92
+ const posDot = path.lastIndexOf(".");
93
+ if (posDot === -1) {
94
+ return [null, path];
95
+ }
96
+ else {
97
+ return [path.substring(0, posDot), path.substring(posDot + 1)];
98
+ }
99
+ }
100
+ static isSingleField(path) {
101
+ return path.indexOf(".") === -1;
102
+ }
103
+ static getPrefixAndField(path) {
104
+ const posDot = path.indexOf(":");
105
+ if (posDot === -1) {
106
+ return [null, path];
107
+ }
108
+ else {
109
+ const prefix = path.substring(0, posDot);
110
+ const pathOnly = path.substring(posDot + 1);
111
+ return [prefix, pathOnly];
112
+ }
113
+ }
114
+ static createDisplayValue(object, xEntity, fields) {
115
+ let displayValue = "";
116
+ for (const field of fields) {
117
+ const valueStr = XUtilsCommon.createDisplayValueForField(object, xEntity, field);
118
+ if (valueStr !== "") {
119
+ if (displayValue !== "") {
120
+ displayValue += " ";
121
+ }
122
+ displayValue += valueStr;
123
+ }
124
+ }
125
+ return displayValue;
126
+ }
127
+ static createDisplayValueForField(object, xEntity, field) {
128
+ const [prefix, fieldOnly] = XUtilsCommon.getPrefixAndField(field);
129
+ let xField = undefined;
130
+ if (xEntity) {
131
+ xField = XUtilsMetadataCommon.getXFieldByPath(xEntity, fieldOnly);
132
+ }
133
+ let displayValue;
134
+ const valueOrValueList = XUtilsCommon.getValueOrValueListByPath(object, fieldOnly);
135
+ if (Array.isArray(valueOrValueList)) {
136
+ displayValue = "";
137
+ for (const value of valueOrValueList) {
138
+ const valueAsUI = XUtilsCommon.displayValueAsUI(prefix, value, xField);
139
+ if (valueAsUI !== "") {
140
+ if (displayValue !== "") {
141
+ displayValue += " ";
142
+ }
143
+ displayValue += valueAsUI;
144
+ }
145
+ }
146
+ }
147
+ else {
148
+ displayValue = XUtilsCommon.displayValueAsUI(prefix, valueOrValueList, xField);
149
+ }
150
+ return displayValue;
151
+ }
152
+ static displayValueAsUI(prefix, value, xField) {
153
+ let displayValue;
154
+ if (xField) {
155
+ displayValue = convertValue(xField, value, true, AsUIType.Text);
156
+ }
157
+ else {
158
+ displayValue = (value !== null && value !== undefined) ? value.toString() : "";
159
+ }
160
+ if (displayValue !== "") {
161
+ if (prefix) {
162
+ displayValue = prefix + displayValue;
163
+ }
164
+ }
165
+ return displayValue;
166
+ }
167
+ static objectAsJSON(value) {
168
+ const dateToJSONOriginal = Date.prototype.toJSON;
169
+ Date.prototype.toJSON = function () {
170
+ let dateStr;
171
+ if (this.getHours() === 0 && this.getMinutes() === 0 && this.getSeconds() === 0) {
172
+ dateStr = dateFormat(this, 'yyyy-MM-dd');
173
+ }
174
+ else {
175
+ dateStr = datetimeFormat(this, 'yyyy-MM-dd HH:mm:ss');
176
+ }
177
+ return dateStr;
178
+ };
179
+ const json = JSON.stringify(value);
180
+ Date.prototype.toJSON = dateToJSONOriginal;
181
+ return json;
182
+ }
183
+ static arrayCreateMap(array, idField) {
184
+ const idRowMap = new Map();
185
+ for (const row of array) {
186
+ if (row) {
187
+ idRowMap.set(row[idField], row);
188
+ }
189
+ }
190
+ return idRowMap;
191
+ }
192
+ static arrayMoveElement(array, position, offset) {
193
+ const element = array[position];
194
+ array.splice(position, 1);
195
+ let positionNew = position + offset;
196
+ if (positionNew > array.length) {
197
+ positionNew = positionNew - array.length - 1;
198
+ }
199
+ else if (positionNew < 0) {
200
+ positionNew = array.length + positionNew + 1;
201
+ }
202
+ if (positionNew >= 0 && positionNew <= array.length) {
203
+ array.splice(positionNew, 0, element);
204
+ }
205
+ }
206
+ static arraySort(array, fieldOrValueFunction) {
207
+ let valueFunction;
208
+ if (typeof fieldOrValueFunction === 'string') {
209
+ valueFunction = (item) => item[fieldOrValueFunction];
210
+ }
211
+ else {
212
+ valueFunction = fieldOrValueFunction;
213
+ }
214
+ return array.sort((suggestion1, suggestion2) => {
215
+ const value1 = valueFunction(suggestion1);
216
+ const value2 = valueFunction(suggestion2);
217
+ if (value1 > value2) {
218
+ return 1;
219
+ }
220
+ else if (value1 < value2) {
221
+ return -1;
222
+ }
223
+ else {
224
+ return 0;
225
+ }
226
+ });
227
+ }
228
+ static arrayIncludes(array, item, idField) {
229
+ return item && array.some((arrayItem) => arrayItem && arrayItem[idField] === item[idField]);
230
+ }
231
+ static arrayIntersect(array1, array2, idField) {
232
+ const array2IdSet = new Set();
233
+ for (const item of array2) {
234
+ if (item) {
235
+ array2IdSet.add(item[idField]);
236
+ }
237
+ }
238
+ return array1.filter((item) => item && array2IdSet.has(item[idField]));
239
+ }
240
+ static createCustomFilter(filter) {
241
+ let customFilterItem = undefined;
242
+ if (filter) {
243
+ customFilterItem = { where: filter, params: {} };
244
+ }
245
+ return customFilterItem;
246
+ }
247
+ static createCustomFilterItems(customFilter) {
248
+ let customFilterItems = undefined;
249
+ if (customFilter) {
250
+ if (Array.isArray(customFilter)) {
251
+ customFilterItems = customFilter;
252
+ }
253
+ else {
254
+ customFilterItems = [customFilter];
255
+ }
256
+ }
257
+ return customFilterItems;
258
+ }
259
+ static createMultiSortMeta(sortField) {
260
+ let multiSortMeta = undefined;
261
+ if (sortField) {
262
+ if (Array.isArray(sortField)) {
263
+ multiSortMeta = sortField;
264
+ }
265
+ else {
266
+ let order = 1;
267
+ const fieldAndOrder = sortField.split(' ');
268
+ if (fieldAndOrder.length === 2) {
269
+ sortField = fieldAndOrder[0];
270
+ if (fieldAndOrder[1].toLowerCase() === "desc") {
271
+ order = -1;
272
+ }
273
+ }
274
+ multiSortMeta = [{ field: sortField, order: order }];
275
+ }
276
+ }
277
+ return multiSortMeta;
278
+ }
279
+ static filterAnd(...filters) {
280
+ let customFilterItemsResult = undefined;
281
+ if (filters.length > 0) {
282
+ customFilterItemsResult = [];
283
+ for (const filter of filters) {
284
+ const customFilterItems = XUtilsCommon.createCustomFilterItems(filter);
285
+ if (customFilterItems) {
286
+ customFilterItemsResult.push(...customFilterItems);
287
+ }
288
+ }
289
+ }
290
+ return customFilterItemsResult;
291
+ }
292
+ static filterIdIn(idField, idList) {
293
+ return { where: `[${idField}] IN (:...idList)`, params: { "idList": idList.length > 0 ? idList : [0] } };
294
+ }
295
+ static createPathFieldExp(pathFieldOrPathFieldExp) {
296
+ if (XUtilsCommon.isPathField(pathFieldOrPathFieldExp)) {
297
+ pathFieldOrPathFieldExp = `[${pathFieldOrPathFieldExp}]`;
298
+ }
299
+ return pathFieldOrPathFieldExp;
300
+ }
301
+ static isPathField(pathFieldOrPathFieldExp) {
302
+ return /^[a-zA-Z0-9_.]+$/.test(pathFieldOrPathFieldExp);
303
+ }
304
+ static getDayName(date) {
305
+ const days = ['nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', 'piatok', 'sobota'];
306
+ return date ? days[date.getDay()] : undefined;
307
+ }
308
+ static dateAddDays(date, days) {
309
+ let result = null;
310
+ if (date !== null) {
311
+ result = new Date(date);
312
+ result.setDate(result.getDate() + days);
313
+ }
314
+ return result;
315
+ }
316
+ static dateAddMonths(date, months) {
317
+ let result = null;
318
+ if (date !== null) {
319
+ result = new Date(date);
320
+ result.setMonth(result.getMonth() + months);
321
+ }
322
+ return result;
323
+ }
324
+ static dateEquals(date1, date2) {
325
+ let result = false;
326
+ if (date1 === null && date2 === null) {
327
+ result = true;
328
+ }
329
+ else if (date1 !== null && date2 !== null) {
330
+ result = (XUtilsCommon.dateCompare(date1, date2) === 0);
331
+ }
332
+ return result;
333
+ }
334
+ static dateIntersect(date1From, date1To, date2From, date2To) {
335
+ return XUtilsCommon.dateCompare(date1From, date2To) <= 0 && XUtilsCommon.dateCompare(date2From, date1To) <= 0;
336
+ }
337
+ static dateCompare(date1, date2) {
338
+ const dateOnly1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());
339
+ const dateOnly2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());
340
+ if (dateOnly1.getTime() < dateOnly2.getTime()) {
341
+ return -1;
342
+ }
343
+ else if (dateOnly1.getTime() === dateOnly2.getTime()) {
344
+ return 0;
345
+ }
346
+ else {
347
+ return 1;
348
+ }
349
+ }
350
+ static dateDiffInYears(dateOld, dateNew) {
351
+ let diff = null;
352
+ if (dateOld !== null && dateNew !== null) {
353
+ const yearNew = dateNew.getFullYear();
354
+ const monthNew = dateNew.getMonth();
355
+ const dayNew = dateNew.getDate();
356
+ const yearOld = dateOld.getFullYear();
357
+ const monthOld = dateOld.getMonth();
358
+ const dayOld = dateOld.getDate();
359
+ diff = yearNew - yearOld;
360
+ if (monthOld > monthNew) {
361
+ diff--;
362
+ }
363
+ else {
364
+ if (monthOld === monthNew) {
365
+ if (dayOld > dayNew) {
366
+ diff--;
367
+ }
368
+ }
369
+ }
370
+ }
371
+ return diff;
372
+ }
373
+ static monthDiff(monthOld, monthNew) {
374
+ let diff = null;
375
+ if (monthOld !== null && monthNew !== null) {
376
+ const yearCountNew = monthNew.getFullYear();
377
+ const monthCountNew = monthNew.getMonth();
378
+ const yearCountOld = monthOld.getFullYear();
379
+ const monthCountOld = monthOld.getMonth();
380
+ diff = (yearCountNew - yearCountOld) * 12 + (monthCountNew - monthCountOld);
381
+ }
382
+ return diff;
383
+ }
384
+ static findFirstMatch(pattern, value) {
385
+ const match = pattern.exec(value);
386
+ return match != null ? match[0] : null;
387
+ }
388
+ static sqlMaxDateIfNull(sqlExp) {
389
+ return `coalesce(${sqlExp}, '9999-12-31'::DATE)`;
390
+ }
391
+ static today() {
392
+ return new Date(dateAsYYYY_MM_DD(new Date()));
393
+ }
394
+ static currentMonth() {
395
+ return XUtilsCommon.dateAsMonth(XUtilsCommon.today());
396
+ }
397
+ static dateAsMonth(date) {
398
+ let month = null;
399
+ if (date !== null) {
400
+ month = new Date(date);
401
+ month.setUTCDate(1);
402
+ }
403
+ return month;
404
+ }
405
+ static isInt(stringValue) {
406
+ return /^[-+]?\d+$/.test(stringValue);
407
+ }
408
+ }
409
+ //# sourceMappingURL=XUtilsCommon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XUtilsCommon.js","sourceRoot":"","sources":["../../src/serverApi/XUtilsCommon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { XField } from "./XEntityMetadata.js";
2
+ import { IPostgresInterval } from "postgres-interval";
3
+ export declare function stringFromUI(stringValue: string): string | null;
4
+ export declare function stringAsUI(value: string | null): string;
5
+ export declare function stringAsDB(value: string | null): string;
6
+ export declare function intFromUI(stringValue: string): number | null | undefined;
7
+ export declare function numberAsUI(value: number | null, fractionDigits?: number): string;
8
+ export declare function numberFromModel(value: any): number | null;
9
+ export declare function numberFromString(valueString: string): number | null;
10
+ export declare enum XDateScale {
11
+ Date = 1,
12
+ Month = 2,
13
+ Year = 3
14
+ }
15
+ export declare function dateFromModel(value: any): Date | null;
16
+ export declare function dateFromUI(valueString: string, dateScale?: XDateScale): Date | null | undefined;
17
+ export declare function dateAsUI(value: Date | null, dateScale?: XDateScale): string;
18
+ export declare function dateAsYYYY_MM_DD(date: Date): string;
19
+ export declare function dateAsDB(date: Date | null): string;
20
+ export declare function dateFormat(date: Date, format: string): string;
21
+ export declare function datetimeAsUI(value: Date | null): string;
22
+ export declare function datetimeFormat(date: Date, format: string): string;
23
+ export declare function timeFromModel(value: any): Date | null;
24
+ export declare function dateFormatUI(dateScale?: XDateScale): string;
25
+ export declare function dateFormatCalendar(dateScale?: XDateScale): string;
26
+ export declare function datetimeFormatUI(): string;
27
+ export declare function intervalFromUI(valueString: string): IPostgresInterval | null | undefined;
28
+ export declare function intervalAsUI(valueInterval: IPostgresInterval | null): string;
29
+ export declare function booleanAsUIText(value: boolean | null): string;
30
+ export declare enum AsUIType {
31
+ Form = 1,
32
+ Text = 2,
33
+ Excel = 3
34
+ }
35
+ export declare function convertObject(entity: string, object: any, fromModel: boolean, asUI: AsUIType | undefined): void;
36
+ export declare function convertValue(xField: XField, value: any, fromModel: boolean, asUI: AsUIType | undefined): any;
37
+ export declare function convertValueBase(fieldType: string, scale: number | undefined, value: any, fromModel: boolean, asUI: AsUIType | undefined): any;