@opengis/fastify-table 1.4.88 → 1.5.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 (489) hide show
  1. package/dist/config.js +33 -0
  2. package/dist/dblist.js +5 -0
  3. package/dist/index.js +170 -0
  4. package/dist/redactionList.js +6 -0
  5. package/dist/server/helpers/core/badge.js +16 -0
  6. package/dist/server/helpers/core/buttonFilePreview.js +12 -0
  7. package/dist/server/helpers/core/buttonHelper.js +20 -0
  8. package/{server → dist/server}/helpers/core/token.js +16 -18
  9. package/dist/server/helpers/format/formatAuto.js +14 -0
  10. package/dist/server/helpers/format/formatDate.js +231 -0
  11. package/{server → dist/server}/helpers/format/formatDigit.js +21 -21
  12. package/dist/server/helpers/format/formatNum.js +331 -0
  13. package/{server → dist/server}/helpers/format/formatNumber.js +50 -55
  14. package/dist/server/helpers/format/formatRelative.js +180 -0
  15. package/{server → dist/server}/helpers/format/formatUnit.js +41 -40
  16. package/{server → dist/server}/helpers/format/num_format.js +40 -44
  17. package/{server → dist/server}/helpers/format/set.js +26 -27
  18. package/{server → dist/server}/helpers/funcs/_math.js +49 -50
  19. package/{server → dist/server}/helpers/funcs/contentList.js +52 -57
  20. package/{server → dist/server}/helpers/funcs/empty.js +21 -21
  21. package/dist/server/helpers/funcs/ifCond.js +109 -0
  22. package/dist/server/helpers/funcs/ifCondAnd.js +109 -0
  23. package/dist/server/helpers/funcs/ifCondOr.js +110 -0
  24. package/{server → dist/server}/helpers/funcs/inc.js +19 -20
  25. package/{server → dist/server}/helpers/funcs/json.js +3 -3
  26. package/dist/server/helpers/funcs/qrcode.js +65 -0
  27. package/{server → dist/server}/helpers/funcs/round.js +27 -29
  28. package/dist/server/helpers/funcs/select.js +39 -0
  29. package/dist/server/helpers/index.js +125 -0
  30. package/dist/server/helpers/list/buttonHelper.js +20 -0
  31. package/{server → dist/server}/helpers/list/descriptionList.js +39 -45
  32. package/dist/server/helpers/list/tableList.js +104 -0
  33. package/{server → dist/server}/helpers/list/utils/button.js +3 -3
  34. package/{server → dist/server}/helpers/list/utils/buttonDel.js +8 -9
  35. package/{server → dist/server}/helpers/list/utils/buttonEdit.js +8 -9
  36. package/{server → dist/server}/helpers/string/coalesce.js +33 -39
  37. package/{server → dist/server}/helpers/string/concat.js +25 -28
  38. package/{server → dist/server}/helpers/string/split.js +19 -20
  39. package/{server → dist/server}/helpers/string/str_replace.js +57 -62
  40. package/{server → dist/server}/helpers/string/substr.js +28 -32
  41. package/{server → dist/server}/helpers/string/translit.js +20 -23
  42. package/dist/server/helpers/string/utils/alphabet.js +76 -0
  43. package/{server → dist/server}/helpers/utils/button.js +3 -3
  44. package/{server → dist/server}/helpers/utils/buttonAdd.js +4 -4
  45. package/{server → dist/server}/helpers/utils/buttonDel.js +11 -15
  46. package/{server → dist/server}/helpers/utils/buttonDownload.js +3 -3
  47. package/dist/server/helpers/utils/buttonEdit.js +14 -0
  48. package/{server → dist/server}/helpers/utils/buttonPreview.js +3 -3
  49. package/{server → dist/server}/helpers/utils/mdToHTML.js +16 -17
  50. package/{server → dist/server}/helpers/utils/paddingNumber.js +5 -5
  51. package/dist/server/plugins/access/funcs/getAdminAccess.js +11 -0
  52. package/dist/server/plugins/cron/cronList.js +2 -0
  53. package/dist/server/plugins/cron/funcs/addCron.js +41 -0
  54. package/{server → dist/server}/plugins/cron/funcs/interval2ms.js +36 -40
  55. package/dist/server/plugins/cron/funcs/runCron.js +20 -0
  56. package/{server → dist/server}/plugins/cron/funcs/verifyUnique.js +19 -23
  57. package/dist/server/plugins/cron/index.js +75 -0
  58. package/dist/server/plugins/crud/funcs/dataDelete.js +87 -0
  59. package/dist/server/plugins/crud/funcs/dataInsert.js +134 -0
  60. package/dist/server/plugins/crud/funcs/dataUpdate.js +198 -0
  61. package/dist/server/plugins/crud/funcs/getAccess.js +82 -0
  62. package/dist/server/plugins/crud/funcs/getOpt.js +13 -0
  63. package/dist/server/plugins/crud/funcs/getToken.js +24 -0
  64. package/dist/server/plugins/crud/funcs/isFileExists.js +11 -0
  65. package/dist/server/plugins/crud/funcs/setOpt.js +19 -0
  66. package/dist/server/plugins/crud/funcs/setToken.js +41 -0
  67. package/dist/server/plugins/crud/funcs/utils/getFolder.js +13 -0
  68. package/dist/server/plugins/crud/funcs/utils/getInsertQuery.js +54 -0
  69. package/dist/server/plugins/crud/funcs/utils/logChanges.js +144 -0
  70. package/{server → dist/server}/plugins/crud/funcs/validateData.js +91 -83
  71. package/dist/server/plugins/extra/extraData.js +81 -0
  72. package/dist/server/plugins/extra/extraDataGet.js +52 -0
  73. package/dist/server/plugins/file/downloadFile.js +15 -0
  74. package/{server → dist/server}/plugins/file/getExport.js +18 -38
  75. package/dist/server/plugins/file/isFileExists.js +13 -0
  76. package/dist/server/plugins/file/providers/fs.js +86 -0
  77. package/dist/server/plugins/file/providers/index.js +28 -0
  78. package/dist/server/plugins/file/providers/mime/index.js +7 -0
  79. package/dist/server/plugins/file/providers/mime/mimes.js +1179 -0
  80. package/dist/server/plugins/file/providers/s3/client.js +26 -0
  81. package/dist/server/plugins/file/providers/s3/funcs/downloadFile.js +42 -0
  82. package/dist/server/plugins/file/providers/s3/funcs/fileExists.js +24 -0
  83. package/dist/server/plugins/file/providers/s3/funcs/uploadFile.js +35 -0
  84. package/dist/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.js +18 -0
  85. package/{server → dist/server}/plugins/file/providers/s3/index.js +11 -12
  86. package/dist/server/plugins/file/providers/utils/getDataSize.js +19 -0
  87. package/dist/server/plugins/file/providers/utils/getValidData.js +30 -0
  88. package/dist/server/plugins/file/providers/utils/handlers/dataTypes.js +7 -0
  89. package/dist/server/plugins/file/providers/utils/handlers/index.js +50 -0
  90. package/dist/server/plugins/file/providers/utils/handlers/sizeHandlers.js +9 -0
  91. package/dist/server/plugins/file/providers/utils/streamToBuffer.js +7 -0
  92. package/{server → dist/server}/plugins/file/providers/utils/typeguards/isArray.js +2 -3
  93. package/{server → dist/server}/plugins/file/providers/utils/typeguards/isBuffer.js +2 -3
  94. package/dist/server/plugins/file/providers/utils/typeguards/isPath.js +3 -0
  95. package/dist/server/plugins/file/providers/utils/typeguards/isReadableStream.js +7 -0
  96. package/{server → dist/server}/plugins/file/providers/utils/typeguards/isText.js +2 -3
  97. package/dist/server/plugins/file/uploadFile.js +14 -0
  98. package/dist/server/plugins/file/uploadMultiPart.js +101 -0
  99. package/dist/server/plugins/file/utils/allowedExtensions.js +60 -0
  100. package/{server → dist/server}/plugins/file/utils/getFileType.js +12 -10
  101. package/dist/server/plugins/file/utils/getPath.js +30 -0
  102. package/dist/server/plugins/file/utils/isFileExists.js +15 -0
  103. package/dist/server/plugins/grpc/file2json.js +50 -0
  104. package/dist/server/plugins/grpc/grpc.js +103 -0
  105. package/dist/server/plugins/grpc/office2pdf.js +78 -0
  106. package/dist/server/plugins/grpc/utils/csv2xls.js +6 -0
  107. package/dist/server/plugins/grpc/utils/excel2Json.js +10 -0
  108. package/dist/server/plugins/grpc/utils/html2doc.js +17 -0
  109. package/dist/server/plugins/grpc/utils/html2img.js +17 -0
  110. package/dist/server/plugins/grpc/utils/html2pdf.js +19 -0
  111. package/{server → dist/server}/plugins/grpc/utils/htmlTemplate.js +3 -4
  112. package/dist/server/plugins/grpc/utils/json2xls.js +11 -0
  113. package/dist/server/plugins/grpc/utils/mergePdf.js +18 -0
  114. package/dist/server/plugins/hook/funcs/addHook.js +7 -0
  115. package/dist/server/plugins/hook/funcs/applyHook.js +25 -0
  116. package/dist/server/plugins/hook/funcs/applyHookSync.js +7 -0
  117. package/dist/server/plugins/hook/hookList.js +2 -0
  118. package/{server → dist/server}/plugins/hook/index.js +7 -8
  119. package/dist/server/plugins/logger/createFileStream.js +79 -0
  120. package/dist/server/plugins/logger/errorMessage.js +24 -0
  121. package/dist/server/plugins/logger/errorStatus.js +17 -0
  122. package/dist/server/plugins/logger/getHooks.js +17 -0
  123. package/dist/server/plugins/logger/getLogger.js +52 -0
  124. package/dist/server/plugins/logger/index.js +37 -0
  125. package/dist/server/plugins/logger/labels.js +10 -0
  126. package/dist/server/plugins/logger/serializers.js +22 -0
  127. package/{server → dist/server}/plugins/logger/timestampWithTimeZone.js +5 -5
  128. package/dist/server/plugins/md/funcs/formatMdoc.js +45 -0
  129. package/{server → dist/server}/plugins/md/funcs/mdToHTML.js +16 -17
  130. package/dist/server/plugins/metric/index.js +6 -0
  131. package/dist/server/plugins/metric/loggerSystem.js +127 -0
  132. package/dist/server/plugins/metric/systemMetricsFifthly.js +20 -0
  133. package/dist/server/plugins/migration/exec.migrations.js +59 -0
  134. package/dist/server/plugins/migration/exec.sql.js +61 -0
  135. package/{server → dist/server}/plugins/migration/index.js +5 -7
  136. package/dist/server/plugins/pg/funcs/autoIndex.js +102 -0
  137. package/{server → dist/server}/plugins/pg/funcs/getDBParams.js +16 -15
  138. package/dist/server/plugins/pg/funcs/getMeta.js +48 -0
  139. package/dist/server/plugins/pg/funcs/getPG.js +39 -0
  140. package/dist/server/plugins/pg/funcs/getPGAsync.js +45 -0
  141. package/dist/server/plugins/pg/funcs/init.js +157 -0
  142. package/dist/server/plugins/pg/index.js +47 -0
  143. package/dist/server/plugins/pg/pgClients.js +20 -0
  144. package/dist/server/plugins/policy/funcs/checkPolicy.js +173 -0
  145. package/dist/server/plugins/policy/funcs/checkXSS.js +44 -0
  146. package/dist/server/plugins/policy/index.js +11 -0
  147. package/dist/server/plugins/policy/sqlInjection.js +33 -0
  148. package/dist/server/plugins/policy/xssInjection.js +72 -0
  149. package/{server → dist/server}/plugins/redis/client.js +6 -8
  150. package/dist/server/plugins/redis/funcs/getRedis.js +23 -0
  151. package/{server → dist/server}/plugins/redis/funcs/redisClients.js +2 -3
  152. package/dist/server/plugins/redis/index.js +8 -0
  153. package/dist/server/plugins/sqlite/funcs/getSqlite.js +27 -0
  154. package/dist/server/plugins/sqlite/funcs/init.js +45 -0
  155. package/dist/server/plugins/sqlite/index.js +8 -0
  156. package/dist/server/plugins/sqlite/sqliteClients.js +24 -0
  157. package/dist/server/plugins/table/funcs/addMenu.js +12 -0
  158. package/dist/server/plugins/table/funcs/addTemplateDir.js +16 -0
  159. package/dist/server/plugins/table/funcs/customTokens.js +2 -0
  160. package/dist/server/plugins/table/funcs/getData.js +25 -0
  161. package/dist/server/plugins/table/funcs/getFilter.js +18 -0
  162. package/dist/server/plugins/table/funcs/getFilterSQL/index.js +201 -0
  163. package/dist/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +131 -0
  164. package/dist/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +11 -0
  165. package/dist/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +84 -0
  166. package/dist/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +11 -0
  167. package/dist/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +161 -0
  168. package/dist/server/plugins/table/funcs/getFilterSQL/util/getTableSql.js +40 -0
  169. package/dist/server/plugins/table/funcs/getSelect.js +37 -0
  170. package/dist/server/plugins/table/funcs/getSelectMeta.js +77 -0
  171. package/dist/server/plugins/table/funcs/getTemplate.js +86 -0
  172. package/dist/server/plugins/table/funcs/getTemplatePath.js +60 -0
  173. package/dist/server/plugins/table/funcs/getTemplateSync.js +84 -0
  174. package/dist/server/plugins/table/funcs/getTemplates.js +15 -0
  175. package/dist/server/plugins/table/funcs/gisIRColumn.js +81 -0
  176. package/dist/server/plugins/table/funcs/loadTemplate.js +2 -0
  177. package/dist/server/plugins/table/funcs/loadTemplatePath.js +2 -0
  178. package/dist/server/plugins/table/funcs/menuDirs.js +2 -0
  179. package/dist/server/plugins/table/funcs/metaFormat/getSelectVal.js +75 -0
  180. package/dist/server/plugins/table/funcs/metaFormat/index.js +64 -0
  181. package/dist/server/plugins/table/funcs/userTemplateDir.js +2 -0
  182. package/dist/server/plugins/table/funcs/userTokens.js +2 -0
  183. package/dist/server/plugins/util/funcs/eventStream.js +28 -0
  184. package/{server → dist/server}/plugins/util/funcs/flattenObject.js +14 -12
  185. package/{server → dist/server}/plugins/util/funcs/unflattenObject.js +48 -46
  186. package/{server → dist/server}/plugins/yml/funcs/json2yml.js +3 -5
  187. package/{server → dist/server}/plugins/yml/funcs/yml2json.js +11 -14
  188. package/{server → dist/server}/routes/access/controllers/access.group.js +17 -23
  189. package/{server → dist/server}/routes/access/controllers/access.group.post.js +46 -53
  190. package/dist/server/routes/access/controllers/access.interface.js +36 -0
  191. package/{server/routes/access/index.mjs → dist/server/routes/access/index.js} +10 -12
  192. package/{server/routes/access/schema.mjs → dist/server/routes/access/schema.js} +65 -68
  193. package/dist/server/routes/cron/controllers/cronApi.js +16 -0
  194. package/dist/server/routes/cron/index.js +15 -0
  195. package/dist/server/routes/crud/controllers/deleteCrud.js +90 -0
  196. package/dist/server/routes/crud/controllers/insert.js +110 -0
  197. package/dist/server/routes/crud/controllers/table.js +144 -0
  198. package/dist/server/routes/crud/controllers/update.js +113 -0
  199. package/dist/server/routes/crud/index.js +22 -0
  200. package/dist/server/routes/dblist/controllers/readItems.js +25 -0
  201. package/dist/server/routes/dblist/controllers/setItem.js +20 -0
  202. package/dist/server/routes/dblist/index.js +17 -0
  203. package/dist/server/routes/dblist/utils/formatData.js +8 -0
  204. package/dist/server/routes/file/controllers/delete.js +99 -0
  205. package/dist/server/routes/file/controllers/download.js +56 -0
  206. package/dist/server/routes/file/controllers/export.js +294 -0
  207. package/dist/server/routes/file/controllers/files.js +57 -0
  208. package/dist/server/routes/file/controllers/resize.js +86 -0
  209. package/dist/server/routes/file/controllers/resizeAll.js +140 -0
  210. package/dist/server/routes/file/controllers/upload.js +56 -0
  211. package/dist/server/routes/file/controllers/uploadImage.js +45 -0
  212. package/dist/server/routes/file/controllers/utils/formatResult.js +13 -0
  213. package/dist/server/routes/file/controllers/utils/jsonToCsv.js +40 -0
  214. package/dist/server/routes/file/controllers/utils/jsonToXls.js +37 -0
  215. package/dist/server/routes/file/index.js +22 -0
  216. package/dist/server/routes/file/schema.js +14 -0
  217. package/dist/server/routes/grpc/controllers/file2geojson.js +54 -0
  218. package/dist/server/routes/grpc/controllers/filePreview.js +87 -0
  219. package/dist/server/routes/grpc/index.js +9 -0
  220. package/dist/server/routes/logger/controllers/logger.file.js +81 -0
  221. package/dist/server/routes/logger/controllers/logger.test.api.js +42 -0
  222. package/dist/server/routes/logger/controllers/utils/checkUserAccess.js +22 -0
  223. package/dist/server/routes/logger/controllers/utils/getRootDir.js +25 -0
  224. package/dist/server/routes/logger/index.js +18 -0
  225. package/dist/server/routes/menu/controllers/getMenu.js +98 -0
  226. package/dist/server/routes/menu/controllers/interfaces.js +18 -0
  227. package/dist/server/routes/menu/index.js +7 -0
  228. package/dist/server/routes/properties/controllers/properties.get.js +23 -0
  229. package/dist/server/routes/properties/controllers/properties.post.js +68 -0
  230. package/dist/server/routes/properties/index.js +21 -0
  231. package/dist/server/routes/table/controllers/card.js +79 -0
  232. package/dist/server/routes/table/controllers/cardData.js +161 -0
  233. package/dist/server/routes/table/controllers/cardTabData.js +49 -0
  234. package/dist/server/routes/table/controllers/dataInfo.js +57 -0
  235. package/dist/server/routes/table/controllers/filter.js +181 -0
  236. package/dist/server/routes/table/controllers/form.js +41 -0
  237. package/{server → dist/server}/routes/table/controllers/getFormByTable.js +105 -125
  238. package/dist/server/routes/table/controllers/search.js +80 -0
  239. package/dist/server/routes/table/controllers/suggest.js +242 -0
  240. package/dist/server/routes/table/controllers/tableData.js +88 -0
  241. package/dist/server/routes/table/controllers/tableInfo.js +112 -0
  242. package/dist/server/routes/table/controllers/tokenInfo.js +10 -0
  243. package/dist/server/routes/table/controllers/utils/conditions.js +30 -0
  244. package/dist/server/routes/table/controllers/utils/formatSchema.js +35 -0
  245. package/dist/server/routes/table/controllers/utils/locales.js +2 -0
  246. package/dist/server/routes/table/functions/getData.js +584 -0
  247. package/dist/server/routes/table/index.js +44 -0
  248. package/dist/server/routes/table/schema.js +117 -0
  249. package/dist/server/routes/templates/controllers/getTemplate.js +65 -0
  250. package/dist/server/routes/templates/index.js +7 -0
  251. package/{server → dist/server}/routes/templates/schema.js +11 -12
  252. package/dist/server/routes/util/controllers/code.generator.js +75 -0
  253. package/dist/server/routes/util/controllers/next.id.js +4 -0
  254. package/dist/server/routes/util/controllers/status.monitor.js +6 -0
  255. package/dist/server/routes/util/controllers/user.tokens.js +32 -0
  256. package/dist/server/routes/util/index.js +13 -0
  257. package/dist/server/routes/widget/controllers/file.edit.js +48 -0
  258. package/dist/server/routes/widget/controllers/widget.del.js +84 -0
  259. package/dist/server/routes/widget/controllers/widget.get.js +164 -0
  260. package/dist/server/routes/widget/controllers/widget.set.js +117 -0
  261. package/dist/server/routes/widget/hook/onWidgetSet.js +10 -0
  262. package/dist/server/routes/widget/index.js +42 -0
  263. package/dist/server/types/core.js +12 -0
  264. package/dist/utils.js +93 -0
  265. package/package.json +24 -17
  266. package/config.js +0 -37
  267. package/dblist.js +0 -5
  268. package/index.js +0 -193
  269. package/redactionList.js +0 -7
  270. package/server/helpers/core/badge.js +0 -14
  271. package/server/helpers/core/buttonFilePreview.js +0 -12
  272. package/server/helpers/core/buttonHelper.js +0 -22
  273. package/server/helpers/format/formatAuto.js +0 -13
  274. package/server/helpers/format/formatDate.js +0 -258
  275. package/server/helpers/format/formatNum.js +0 -365
  276. package/server/helpers/format/formatRelative.js +0 -106
  277. package/server/helpers/funcs/ifCond.js +0 -109
  278. package/server/helpers/funcs/ifCondAnd.js +0 -114
  279. package/server/helpers/funcs/ifCondOr.js +0 -115
  280. package/server/helpers/funcs/qrcode.js +0 -68
  281. package/server/helpers/funcs/select.js +0 -46
  282. package/server/helpers/index.js +0 -137
  283. package/server/helpers/list/buttonHelper.js +0 -22
  284. package/server/helpers/list/tableList.js +0 -87
  285. package/server/helpers/string/utils/alphabet.js +0 -76
  286. package/server/helpers/utils/buttonEdit.js +0 -17
  287. package/server/migrations/0.sql +0 -84
  288. package/server/migrations/cls.sql +0 -40
  289. package/server/migrations/context.sql +0 -135
  290. package/server/migrations/crm.sql +0 -155
  291. package/server/migrations/log.sql +0 -87
  292. package/server/migrations/properties.sql +0 -115
  293. package/server/migrations/roles.sql +0 -191
  294. package/server/migrations/template.sql +0 -44
  295. package/server/migrations/users.sql +0 -176
  296. package/server/plugins/access/funcs/getAdminAccess.js +0 -14
  297. package/server/plugins/access/index.mjs +0 -6
  298. package/server/plugins/cron/cronList.js +0 -1
  299. package/server/plugins/cron/funcs/addCron.js +0 -52
  300. package/server/plugins/cron/funcs/runCron.js +0 -24
  301. package/server/plugins/cron/index.js +0 -77
  302. package/server/plugins/crud/funcs/dataDelete.js +0 -86
  303. package/server/plugins/crud/funcs/dataInsert.js +0 -131
  304. package/server/plugins/crud/funcs/dataUpdate.js +0 -179
  305. package/server/plugins/crud/funcs/getAccess.js +0 -94
  306. package/server/plugins/crud/funcs/getOpt.js +0 -14
  307. package/server/plugins/crud/funcs/getToken.js +0 -33
  308. package/server/plugins/crud/funcs/isFileExists.js +0 -13
  309. package/server/plugins/crud/funcs/setOpt.js +0 -21
  310. package/server/plugins/crud/funcs/setToken.js +0 -43
  311. package/server/plugins/crud/funcs/utils/getFolder.js +0 -11
  312. package/server/plugins/crud/funcs/utils/getInsertQuery.js +0 -44
  313. package/server/plugins/crud/funcs/utils/logChanges.js +0 -121
  314. package/server/plugins/crud/index.js +0 -23
  315. package/server/plugins/extra/extraData.js +0 -79
  316. package/server/plugins/extra/extraDataGet.js +0 -56
  317. package/server/plugins/file/downloadFile.js +0 -18
  318. package/server/plugins/file/isFileExists.js +0 -17
  319. package/server/plugins/file/providers/fs.js +0 -100
  320. package/server/plugins/file/providers/index.d.ts +0 -49
  321. package/server/plugins/file/providers/index.js +0 -36
  322. package/server/plugins/file/providers/mime/index.js +0 -12
  323. package/server/plugins/file/providers/mime/mimes.js +0 -1180
  324. package/server/plugins/file/providers/s3/client.js +0 -41
  325. package/server/plugins/file/providers/s3/funcs/downloadFile.js +0 -50
  326. package/server/plugins/file/providers/s3/funcs/fileExists.js +0 -32
  327. package/server/plugins/file/providers/s3/funcs/uploadFile.js +0 -46
  328. package/server/plugins/file/providers/s3/funcs/utils/getS3FilePath.js +0 -23
  329. package/server/plugins/file/providers/utils/getDataSize.js +0 -20
  330. package/server/plugins/file/providers/utils/getValidData.js +0 -32
  331. package/server/plugins/file/providers/utils/handlers/dataTypes.js +0 -8
  332. package/server/plugins/file/providers/utils/handlers/index.js +0 -53
  333. package/server/plugins/file/providers/utils/handlers/sizeHandlers.js +0 -11
  334. package/server/plugins/file/providers/utils/streamToBuffer.js +0 -8
  335. package/server/plugins/file/providers/utils/typeguards/isPath.js +0 -5
  336. package/server/plugins/file/providers/utils/typeguards/isReadableStream.js +0 -8
  337. package/server/plugins/file/uploadFile.js +0 -19
  338. package/server/plugins/file/uploadMultiPart.js +0 -131
  339. package/server/plugins/file/utils/allowedExtensions.js +0 -25
  340. package/server/plugins/file/utils/getPath.js +0 -25
  341. package/server/plugins/file/utils/isFileExists.js +0 -16
  342. package/server/plugins/grpc/file2json.js +0 -54
  343. package/server/plugins/grpc/grpc.js +0 -125
  344. package/server/plugins/grpc/office2pdf.js +0 -91
  345. package/server/plugins/grpc/utils/csv2xls.js +0 -8
  346. package/server/plugins/grpc/utils/excel2Json.js +0 -8
  347. package/server/plugins/grpc/utils/html2doc.js +0 -19
  348. package/server/plugins/grpc/utils/html2img.js +0 -18
  349. package/server/plugins/grpc/utils/html2pdf.js +0 -23
  350. package/server/plugins/grpc/utils/json2xls.js +0 -13
  351. package/server/plugins/grpc/utils/mergePdf.js +0 -20
  352. package/server/plugins/hook/funcs/addHook.js +0 -8
  353. package/server/plugins/hook/funcs/applyHook.js +0 -25
  354. package/server/plugins/hook/funcs/applyHookSync.js +0 -9
  355. package/server/plugins/hook/hookList.js +0 -1
  356. package/server/plugins/logger/createFileStream.js +0 -88
  357. package/server/plugins/logger/errorMessage.js +0 -25
  358. package/server/plugins/logger/errorStatus.js +0 -19
  359. package/server/plugins/logger/getHooks.js +0 -21
  360. package/server/plugins/logger/getLogger.js +0 -58
  361. package/server/plugins/logger/index.js +0 -33
  362. package/server/plugins/logger/labels.js +0 -11
  363. package/server/plugins/logger/serializers.js +0 -25
  364. package/server/plugins/md/funcs/formatMdoc.js +0 -40
  365. package/server/plugins/metric/index.js +0 -8
  366. package/server/plugins/metric/loggerSystem.js +0 -131
  367. package/server/plugins/metric/systemMetricsFifthly.js +0 -24
  368. package/server/plugins/migration/exec.migrations.js +0 -63
  369. package/server/plugins/migration/exec.sql.js +0 -67
  370. package/server/plugins/pg/funcs/autoIndex.js +0 -103
  371. package/server/plugins/pg/funcs/getMeta.js +0 -49
  372. package/server/plugins/pg/funcs/getPG.js +0 -42
  373. package/server/plugins/pg/funcs/getPGAsync.js +0 -62
  374. package/server/plugins/pg/funcs/init.js +0 -117
  375. package/server/plugins/pg/index.js +0 -54
  376. package/server/plugins/pg/pgClients.js +0 -22
  377. package/server/plugins/policy/funcs/checkPolicy.js +0 -127
  378. package/server/plugins/policy/funcs/checkXSS.js +0 -37
  379. package/server/plugins/policy/index.js +0 -11
  380. package/server/plugins/policy/sqlInjection.js +0 -34
  381. package/server/plugins/policy/xssInjection.js +0 -73
  382. package/server/plugins/redis/funcs/getRedis.js +0 -25
  383. package/server/plugins/redis/index.js +0 -17
  384. package/server/plugins/sqlite/funcs/getSqlite.js +0 -39
  385. package/server/plugins/sqlite/funcs/init.js +0 -53
  386. package/server/plugins/sqlite/index.js +0 -11
  387. package/server/plugins/sqlite/sqliteClients.js +0 -26
  388. package/server/plugins/table/funcs/addMenu.js +0 -16
  389. package/server/plugins/table/funcs/addTemplateDir.js +0 -19
  390. package/server/plugins/table/funcs/customTokens.js +0 -1
  391. package/server/plugins/table/funcs/getData.js +0 -14
  392. package/server/plugins/table/funcs/getFilter.js +0 -14
  393. package/server/plugins/table/funcs/getFilterSQL/index.js +0 -163
  394. package/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +0 -136
  395. package/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +0 -13
  396. package/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +0 -75
  397. package/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +0 -12
  398. package/server/plugins/table/funcs/getFilterSQL/util/getRangeQuery.js +0 -156
  399. package/server/plugins/table/funcs/getFilterSQL/util/getTableSql.js +0 -34
  400. package/server/plugins/table/funcs/getSelect.js +0 -31
  401. package/server/plugins/table/funcs/getSelectMeta.js +0 -74
  402. package/server/plugins/table/funcs/getTemplate.js +0 -88
  403. package/server/plugins/table/funcs/getTemplatePath.js +0 -60
  404. package/server/plugins/table/funcs/getTemplateSync.js +0 -87
  405. package/server/plugins/table/funcs/getTemplates.js +0 -19
  406. package/server/plugins/table/funcs/gisIRColumn.js +0 -82
  407. package/server/plugins/table/funcs/loadTemplate.js +0 -1
  408. package/server/plugins/table/funcs/loadTemplatePath.js +0 -1
  409. package/server/plugins/table/funcs/menuDirs.js +0 -1
  410. package/server/plugins/table/funcs/metaFormat/getSelectVal.js +0 -61
  411. package/server/plugins/table/funcs/metaFormat/index.js +0 -49
  412. package/server/plugins/table/funcs/userTemplateDir.js +0 -1
  413. package/server/plugins/table/funcs/userTokens.js +0 -1
  414. package/server/plugins/table/index.js +0 -13
  415. package/server/plugins/util/funcs/eventStream.js +0 -29
  416. package/server/plugins/util/index.js +0 -7
  417. package/server/routes/access/controllers/access.interface.js +0 -37
  418. package/server/routes/cron/controllers/cronApi.js +0 -22
  419. package/server/routes/cron/index.js +0 -19
  420. package/server/routes/crud/controllers/deleteCrud.js +0 -84
  421. package/server/routes/crud/controllers/insert.js +0 -103
  422. package/server/routes/crud/controllers/table.js +0 -116
  423. package/server/routes/crud/controllers/update.js +0 -108
  424. package/server/routes/crud/index.js +0 -26
  425. package/server/routes/dblist/controllers/readItems.js +0 -28
  426. package/server/routes/dblist/controllers/setItem.js +0 -25
  427. package/server/routes/dblist/index.mjs +0 -19
  428. package/server/routes/dblist/utils/formatData.js +0 -7
  429. package/server/routes/file/controllers/delete.js +0 -108
  430. package/server/routes/file/controllers/download.js +0 -66
  431. package/server/routes/file/controllers/export.js +0 -290
  432. package/server/routes/file/controllers/files.js +0 -72
  433. package/server/routes/file/controllers/resize.js +0 -96
  434. package/server/routes/file/controllers/resizeAll.js +0 -165
  435. package/server/routes/file/controllers/upload.js +0 -55
  436. package/server/routes/file/controllers/uploadImage.js +0 -47
  437. package/server/routes/file/controllers/utils/formatResult.js +0 -17
  438. package/server/routes/file/controllers/utils/jsonToCsv.js +0 -36
  439. package/server/routes/file/controllers/utils/jsonToXls.js +0 -42
  440. package/server/routes/file/index.mjs +0 -26
  441. package/server/routes/file/schema.js +0 -16
  442. package/server/routes/grpc/controllers/file2geojson.js +0 -60
  443. package/server/routes/grpc/controllers/filePreview.js +0 -89
  444. package/server/routes/grpc/index.mjs +0 -12
  445. package/server/routes/logger/controllers/logger.file.js +0 -97
  446. package/server/routes/logger/controllers/logger.test.api.js +0 -48
  447. package/server/routes/logger/controllers/utils/checkUserAccess.js +0 -24
  448. package/server/routes/logger/controllers/utils/getRootDir.js +0 -27
  449. package/server/routes/logger/index.js +0 -22
  450. package/server/routes/menu/controllers/getMenu.js +0 -98
  451. package/server/routes/menu/controllers/interfaces.js +0 -21
  452. package/server/routes/menu/index.mjs +0 -8
  453. package/server/routes/menu/schema.js +0 -0
  454. package/server/routes/properties/controllers/properties.get.js +0 -33
  455. package/server/routes/properties/controllers/properties.post.js +0 -76
  456. package/server/routes/properties/index.js +0 -25
  457. package/server/routes/table/controllers/card.js +0 -77
  458. package/server/routes/table/controllers/cardData.js +0 -155
  459. package/server/routes/table/controllers/cardTabData.js +0 -57
  460. package/server/routes/table/controllers/dataInfo.js +0 -56
  461. package/server/routes/table/controllers/filter.js +0 -154
  462. package/server/routes/table/controllers/form.js +0 -42
  463. package/server/routes/table/controllers/search.js +0 -74
  464. package/server/routes/table/controllers/suggest.js +0 -246
  465. package/server/routes/table/controllers/tableData.js +0 -62
  466. package/server/routes/table/controllers/tableInfo.js +0 -110
  467. package/server/routes/table/controllers/tokenInfo.js +0 -12
  468. package/server/routes/table/controllers/utils/conditions.js +0 -21
  469. package/server/routes/table/controllers/utils/formatSchema.js +0 -23
  470. package/server/routes/table/controllers/utils/locales.js +0 -1
  471. package/server/routes/table/functions/getData.js +0 -436
  472. package/server/routes/table/index.js +0 -57
  473. package/server/routes/table/schema.js +0 -127
  474. package/server/routes/templates/controllers/getTemplate.js +0 -51
  475. package/server/routes/templates/index.mjs +0 -10
  476. package/server/routes/util/controllers/code.generator.js +0 -94
  477. package/server/routes/util/controllers/next.id.js +0 -4
  478. package/server/routes/util/controllers/status.monitor.js +0 -8
  479. package/server/routes/util/controllers/user.tokens.js +0 -45
  480. package/server/routes/util/index.js +0 -14
  481. package/server/routes/widget/controllers/file.edit.js +0 -55
  482. package/server/routes/widget/controllers/widget.del.js +0 -99
  483. package/server/routes/widget/controllers/widget.get.js +0 -156
  484. package/server/routes/widget/controllers/widget.set.js +0 -108
  485. package/server/routes/widget/hook/onWidgetSet.js +0 -13
  486. package/server/routes/widget/index.mjs +0 -38
  487. package/utils.js +0 -112
  488. /package/{server → dist/server}/plugins/grpc/utils/convertp.proto +0 -0
  489. /package/{server → dist/server}/plugins/grpc/utils/office2pdf.proto +0 -0
@@ -0,0 +1,331 @@
1
+ /* eslint-disable prefer-destructuring */
2
+ function saveEval(jsCode, context = {}) {
3
+ // TODO eval
4
+ const addcontext = Object.keys(context)
5
+ .map((key) => `let ${key}=context["${key}"];`)
6
+ .join("");
7
+ // eslint-disable-next-line no-eval
8
+ return eval(addcontext + jsCode);
9
+ }
10
+ const mapNumbers = {
11
+ ua: {
12
+ 0: [2, 1, "нуль"],
13
+ 1: [0, 2, "одна", "один"],
14
+ 2: [1, 2, "дві", "два", "дві"],
15
+ 3: [1, 1, "три"],
16
+ 4: [1, 1, "чотири"],
17
+ 5: [2, 1, "п'ять"],
18
+ 6: [2, 1, "шість"],
19
+ 7: [2, 1, "сім"],
20
+ 8: [2, 1, "вісім"],
21
+ 9: [2, 1, "дев'ять"],
22
+ 10: [2, 1, "десять"],
23
+ 11: [2, 1, "одинадцять"],
24
+ 12: [2, 1, "дванадцять"],
25
+ 13: [2, 1, "тринадцять"],
26
+ 14: [2, 1, "чотирнадцять"],
27
+ 15: [2, 1, "п'ятнадцять"],
28
+ 16: [2, 1, "шістнадцять"],
29
+ 17: [2, 1, "сімнадцять"],
30
+ 18: [2, 1, "вісімнадцять"],
31
+ 19: [2, 1, "дев'ятнадцять"],
32
+ 20: [2, 1, "двадцять"],
33
+ 30: [2, 1, "тридцять"],
34
+ 40: [2, 1, "сорок"],
35
+ 50: [2, 1, "п'ятдесят"],
36
+ 60: [2, 1, "шістдесят"],
37
+ 70: [2, 1, "сімдесят"],
38
+ 80: [2, 1, "вісімдесят"],
39
+ 90: [2, 1, "дев'яносто"],
40
+ 100: [2, 1, "сто"],
41
+ 200: [2, 1, "двісті"],
42
+ 300: [2, 1, "триста"],
43
+ 400: [2, 1, "чотириста"],
44
+ 500: [2, 1, "п'ятсот"],
45
+ 600: [2, 1, "шістсот"],
46
+ 700: [2, 1, "сімсот"],
47
+ 800: [2, 1, "вісімсот"],
48
+ 900: [2, 1, "дев'ятсот"],
49
+ },
50
+ ru: {
51
+ 0: [2, 1, "ноль"],
52
+ 1: [0, 2, "одна", "один"],
53
+ 2: [1, 2, "две", "два", "две"],
54
+ 3: [1, 1, "три"],
55
+ 4: [1, 1, "четыре"],
56
+ 5: [2, 1, "пять"],
57
+ 6: [2, 1, "шесть"],
58
+ 7: [2, 1, "семь"],
59
+ 8: [2, 1, "восемь"],
60
+ 9: [2, 1, "девять"],
61
+ 10: [2, 1, "десять"],
62
+ 11: [2, 1, "одинадцать"],
63
+ 12: [2, 1, "двенадцать"],
64
+ 13: [2, 1, "тринадцать"],
65
+ 14: [2, 1, "четырнадцать"],
66
+ 15: [2, 1, "пятнадцать"],
67
+ 16: [2, 1, "шестнадцать"],
68
+ 17: [2, 1, "семнадцать"],
69
+ 18: [2, 1, "восемнадцать"],
70
+ 19: [2, 1, "девятнадцать"],
71
+ 20: [2, 1, "двадцать"],
72
+ 30: [2, 1, "тридцать"],
73
+ 40: [2, 1, "сорок"],
74
+ 50: [2, 1, "пятьдесят"],
75
+ 60: [2, 1, "шестьдесят"],
76
+ 70: [2, 1, "семьдесят"],
77
+ 80: [2, 1, "восемьдесят"],
78
+ 90: [2, 1, "девяносто"],
79
+ 100: [2, 1, "сто"],
80
+ 200: [2, 1, "двести"],
81
+ 300: [2, 1, "триста"],
82
+ 400: [2, 1, "четыреста"],
83
+ 500: [2, 1, "пятьсот"],
84
+ 600: [2, 1, "шестьсот"],
85
+ 700: [2, 1, "семьсот"],
86
+ 800: [2, 1, "восемьсот"],
87
+ 900: [2, 1, "девятьсот"],
88
+ },
89
+ };
90
+ const mapOrders = {
91
+ ua: [
92
+ { Gender: true, arrStates: ["", "", ""] },
93
+ { Gender: true, arrStates: ["тисяча", "тисячі", "тисяч"] },
94
+ { Gender: false, arrStates: ["мільйон", "мільйона", "мільйонів"] },
95
+ { Gender: false, arrStates: ["мільярд", "мільярда", "мільярдів"] },
96
+ { Gender: false, arrStates: ["триліон", "триліона", "триліонів"] },
97
+ {
98
+ Gender: true,
99
+ arrStates: {
100
+ uah: ["грн.", "грн.", "грн."],
101
+ rur: ["руб.", "руб.", "руб."],
102
+ },
103
+ bAddZeroWord: true,
104
+ },
105
+ {
106
+ Gender: true,
107
+ arrStates: ["ціла", "цілих", "цілих"],
108
+ bAddZeroWord: true,
109
+ },
110
+ { Gender: true, arrStates: ["", "", ""], bAddZeroWord: true },
111
+ {
112
+ Gender: true,
113
+ arrStates: ["дол.", "дол.", "дол."],
114
+ bAddZeroWord: true,
115
+ },
116
+ {
117
+ Gender: true,
118
+ arrStates: ["грн.", "грн.", "грн."],
119
+ bAddZeroWord: true,
120
+ },
121
+ ],
122
+ ru: [
123
+ { Gender: true, arrStates: ["", "", ""] },
124
+ { Gender: true, arrStates: ["тысяча", "тысячи", "тысяч"] },
125
+ { Gender: false, arrStates: ["миллион", "миллиона", "миллионов"] },
126
+ { Gender: false, arrStates: ["миллиард", "миллиарда", "миллиардов"] },
127
+ { Gender: false, arrStates: ["триллион", "триллиона", "триллионов"] },
128
+ {
129
+ Gender: true,
130
+ arrStates: {
131
+ uah: ["грн.", "грн.", "грн."],
132
+ rur: ["руб.", "руб.", "руб."],
133
+ usd: ["дол.", "дол.", "дол."],
134
+ },
135
+ bAddZeroWord: true,
136
+ },
137
+ {
138
+ Gender: true,
139
+ arrStates: ["целых", "целых", "целых"],
140
+ bAddZeroWord: true,
141
+ },
142
+ { Gender: true, arrStates: ["", "", ""], bAddZeroWord: true },
143
+ {
144
+ Gender: true,
145
+ arrStates: ["дол.", "дол.", "дол."],
146
+ bAddZeroWord: true,
147
+ },
148
+ ],
149
+ };
150
+ const objCur = {
151
+ Gender: false,
152
+ arrStates: {
153
+ uah: ["грн.", "грн.", "грн."],
154
+ rur: ["руб.", "руб.", "руб."],
155
+ usd: ["дол.", "дол.", "дол."],
156
+ num: { ru: "цел.", ua: "ціл.", en: "int." },
157
+ },
158
+ };
159
+ const objCoin = {
160
+ Gender: false,
161
+ arrStates: {
162
+ uah: "коп.",
163
+ rur: "коп.",
164
+ usd: "цен.",
165
+ num: { ru: "сот.", ua: "сот.", en: "hund." },
166
+ },
167
+ };
168
+ // функции которые отвечают за форматирование
169
+ /**
170
+ * Formatting from number to string
171
+ *
172
+ * @example
173
+ * // returns 'дві'
174
+ * value(2, true, 'ua');
175
+ * @example
176
+ * // returns 'два'
177
+ * value(2, false, 'ua');
178
+ * @param {Number} dVal
179
+ * @param {Any} bGender
180
+ * @param {String} lang
181
+ * @returns {String} Returns a formatted string
182
+ */
183
+ function value(dVal, bGender, lang) {
184
+ const dValNew = dVal || 0;
185
+ const xVal = mapNumbers[lang][dValNew];
186
+ if (xVal[1] === 1) {
187
+ return xVal[2];
188
+ }
189
+ return xVal[2 + (bGender ? 0 : 1)];
190
+ }
191
+ /**
192
+ * Add a number to array(arrRet) in capital form
193
+ *
194
+ * @example
195
+ * // returns null
196
+ * from0To999(arrRet, 404,
197
+ * oObjDesc:
198
+ * {
199
+ * Gender: true,
200
+ * bAddZeroWord: undefined,
201
+ * arrStates: ['','',''],
202
+ * },
203
+ * lang: 'ru'
204
+ * })
205
+ * @param {Array} arrRet
206
+ * @param {Number} fValue
207
+ * @param {Object} [oObjDesc.Gender]
208
+ * @param {Object} [oObjDesc.bAddZeroWord]
209
+ * @param {Object} [oObjDesc.arrStates]
210
+ * @param oObjDesc
211
+ * @param {String} lang
212
+ */
213
+ function from0To999(arrRet, fValue, oObjDesc, lang) {
214
+ let fValueNew = fValue || 0;
215
+ let nCurrState = 2;
216
+ if (Math.floor(fValueNew / 100) > 0) {
217
+ const fCurr = Math.floor(fValueNew / 100) * 100;
218
+ arrRet.push(value(fCurr, oObjDesc.Gender, lang));
219
+ nCurrState = mapNumbers[lang][fCurr][0];
220
+ fValueNew -= fCurr;
221
+ }
222
+ if (fValueNew === 0) {
223
+ arrRet.push(value(fValueNew, oObjDesc.Gender, lang));
224
+ nCurrState = mapNumbers[lang][fValueNew][0];
225
+ }
226
+ else if (fValueNew < 20) {
227
+ if (Math.floor(fValueNew) > 0 || oObjDesc.bAddZeroWord) {
228
+ arrRet.push(value(fValueNew, oObjDesc.Gender, lang));
229
+ nCurrState = mapNumbers[lang][fValueNew][0];
230
+ }
231
+ }
232
+ else {
233
+ const fCurr = Math.floor(fValueNew / 10) * 10;
234
+ arrRet.push(value(fCurr, oObjDesc.Gender, lang));
235
+ nCurrState = mapNumbers[lang][fCurr][0];
236
+ fValueNew -= fCurr;
237
+ if (Math.floor(fValueNew) > 0) {
238
+ arrRet.push(value(fValueNew, oObjDesc.Gender, lang));
239
+ nCurrState = mapNumbers[lang][fValueNew][0];
240
+ }
241
+ }
242
+ arrRet.push(oObjDesc.arrStates[nCurrState]);
243
+ }
244
+ /**
245
+ * Formatting from number to string
246
+ *
247
+ * @example
248
+ * // returns '404 (четыреста четыре) руб. 101 (сто одна) коп.'
249
+ * floatToSamplesInWordsUkr(404.1011001001, '%d (%dt) %curr %f (%ft) %coin', 3, 'ru', 'rur');
250
+ * @returns {String|Number} fAmount
251
+ * @param {String} resultStr
252
+ * @param {Number} exp
253
+ * @param {String} lang
254
+ * @param {String} currency
255
+ * @returns {String} Returns a formatted string
256
+ */
257
+ function floatToSamplesInWordsUkr(fAmount, resultStr, exp, lang, currency) {
258
+ let resultStrNew = resultStr;
259
+ let fInt = Math.floor(parseInt(fAmount, 10) + 0.005); // ціла частина
260
+ const fDec = Math.floor((fAmount - fInt) * exp + 0.5); // дробова частина
261
+ let arrRet = [];
262
+ const arrSouthands = [];
263
+ for (; fInt > 0.9999; fInt /= 1000) {
264
+ arrSouthands.push(Math.floor(fInt % 1000));
265
+ }
266
+ if (arrSouthands.length === 0) {
267
+ arrSouthands.push(0);
268
+ }
269
+ for (let iSouth = arrSouthands.length - 1; iSouth >= 0; iSouth -= 1) {
270
+ from0To999(arrRet, arrSouthands[iSouth], mapOrders[lang][iSouth], lang);
271
+ }
272
+ // опрацювуЇмо формат
273
+ resultStrNew = resultStrNew.replace(/%dt/, arrRet.join(" ").replace(" )", ")").trim());
274
+ resultStrNew = resultStrNew.replace(/%d/, Math.floor(parseInt(fAmount, 10) + 0.005));
275
+ if (currency !== "num" && objCur.arrStates[currency]) {
276
+ resultStrNew = resultStrNew.replace(/%curr/, objCur.arrStates[currency][0]);
277
+ }
278
+ else {
279
+ resultStrNew = resultStrNew.replace(/%curr/, objCur.arrStates[lang === "ru" ? "rur" : lang][0]);
280
+ }
281
+ arrRet = [];
282
+ from0To999(arrRet, fDec, mapOrders[lang][0], lang);
283
+ resultStrNew = resultStrNew.replace(/%ft/, arrRet.join(" ").replace(" )", ")").trim());
284
+ resultStrNew = resultStrNew.replace(/%f/, fDec);
285
+ if (currency !== "num" && objCur.arrStates[currency]) {
286
+ resultStrNew = resultStrNew.replace(/%coin/, objCoin.arrStates[currency]);
287
+ }
288
+ else {
289
+ resultStrNew = resultStrNew.replace(/%coin/, objCoin.arrStates[lang === "ru" ? "rur" : lang]);
290
+ }
291
+ return resultStrNew;
292
+ }
293
+ /**
294
+ * Formatting from number to string
295
+ *
296
+ * @summary Formatting from number to string
297
+ * @priority 0
298
+ * @deprecated true
299
+ * @type helper
300
+ * @alias formatNum
301
+ * @param {Number} round Округлення
302
+ * @param {String} currency Валюта
303
+ * @param {String} lang Мова на якій видати інформацію
304
+ * @param {String} format Шаблон вигляду результату
305
+ * @param {String|Number} data Число для форматування
306
+ * @returns {String} Returns HTML
307
+ */
308
+ export default function formatNum(data, options = {}) {
309
+ let name = data;
310
+ if (!name) {
311
+ name = 0;
312
+ } // в случае значения NULL
313
+ if (typeof name === "string" && !name.match(/^[a-zA-Z0-9.]+$/g)) {
314
+ let exec = name;
315
+ exec = exec.replace(/([a-zA-Z_.]{3,100}[0-9]*)/g, "options.data.root.$1");
316
+ name = saveEval(exec);
317
+ name = name ? parseFloat(name) : 0;
318
+ if (options.hash?.round) {
319
+ name = name.toFixed(options.hash.round);
320
+ }
321
+ }
322
+ const opt = options.hash; // додатков≥ опц≥њ
323
+ const currency = opt.currency || "uah";
324
+ const lang = opt.lang || "ua";
325
+ // if(['ru','ua'].indexOf(lang)==-1)
326
+ // lang=(['ru','ua'].indexOf(window.lang)>-1?window.lang:'ua');
327
+ const round = opt.round || 2;
328
+ const exp = 10 ** round; // к≥льк≥сть знак≥в псл¤ коми
329
+ const resultStr = opt.format || "%d (%dt) %curr %f (%ft) %coin";
330
+ return floatToSamplesInWordsUkr(name, resultStr, exp, lang, currency);
331
+ }
@@ -1,55 +1,50 @@
1
- /* eslint-disable no-param-reassign */
2
- /**
3
- * Форматування до числа
4
- *
5
- * @summary Форматування до числа
6
- * @priority 0
7
- * @alias formatNumber
8
- * @type helper
9
- * @example
10
- * {{{formatNumber space}}}
11
- * @example
12
- * {{{formatNumber amount}}}
13
- * @example
14
- * {{formatNumber size_log}}
15
- * @example
16
- * {{formatNumber (coalesce proj_finish 0) }}
17
- * @param {String|Number} data Число для формування
18
- * @param {Number} round Параметр округлення
19
- * @param {String} style Стиль форматування (currency, decimal, percent, unit)
20
- * @param {String} currency Валюта (наприклад, EUR)
21
- * @param {String} unit Одиниця вимірювання (наприклад, liter)
22
- * @param {String} locale Мова (наприклад, ua, en)
23
- * @param {String} unitDisplay Стиль відображення одиниці (short, narrow, long)
24
- * @param {String} notation Стиль скорочення чисел (compact)
25
- * @returns {String} Відформатоване число
26
- */
27
-
28
- export default function formatNumber(data, options) {
29
- const TP = typeof data;
30
-
31
- if (!data || (TP !== 'number' && TP !== 'string')) return '';
32
-
33
- if (TP === 'string') {
34
- data = data.replace(',', '.') - 0;
35
- }
36
-
37
- const round = options.hash?.round ?? 2;
38
- const style = options.hash?.style ?? 'decimal';
39
- const currency = options.hash?.currency ?? 'UAH';
40
- const unit = options.hash?.unit ?? 'liter';
41
- const locale = options.hash?.locale ?? 'ua';
42
- const unitDisplay = options.hash?.unitDisplay ?? 'short';
43
- const notation = options.hash?.notation ?? 'standard';
44
-
45
- const formatter = new Intl.NumberFormat(locale, {
46
- style,
47
- currency,
48
- unit,
49
- unitDisplay,
50
- notation,
51
- maximumFractionDigits: round,
52
- });
53
-
54
- return formatter.format(data - 0);
55
- }
1
+ /* eslint-disable no-param-reassign */
2
+ /**
3
+ * Форматування до числа
4
+ *
5
+ * @summary Форматування до числа
6
+ * @priority 0
7
+ * @alias formatNumber
8
+ * @type helper
9
+ * @example
10
+ * {{{formatNumber space}}}
11
+ * @example
12
+ * {{{formatNumber amount}}}
13
+ * @example
14
+ * {{formatNumber size_log}}
15
+ * @example
16
+ * {{formatNumber (coalesce proj_finish 0) }}
17
+ * @param {String|Number} data Число для формування
18
+ * @param {Number} round Параметр округлення
19
+ * @param {String} style Стиль форматування (currency, decimal, percent, unit)
20
+ * @param {String} currency Валюта (наприклад, EUR)
21
+ * @param {String} unit Одиниця вимірювання (наприклад, liter)
22
+ * @param {String} locale Мова (наприклад, ua, en)
23
+ * @param {String} unitDisplay Стиль відображення одиниці (short, narrow, long)
24
+ * @param {String} notation Стиль скорочення чисел (compact)
25
+ * @returns {String} Відформатоване число
26
+ */
27
+ export default function formatNumber(data, options) {
28
+ const TP = typeof data;
29
+ if (!data || (TP !== 'number' && TP !== 'string'))
30
+ return '';
31
+ if (TP === 'string') {
32
+ data = data.replace(',', '.') - 0;
33
+ }
34
+ const round = options.hash?.round ?? 2;
35
+ const style = options.hash?.style ?? 'decimal';
36
+ const currency = options.hash?.currency ?? 'UAH';
37
+ const unit = options.hash?.unit ?? 'liter';
38
+ const locale = options.hash?.locale ?? 'ua';
39
+ const unitDisplay = options.hash?.unitDisplay ?? 'short';
40
+ const notation = options.hash?.notation ?? 'standard';
41
+ const formatter = new Intl.NumberFormat(locale, {
42
+ style,
43
+ currency,
44
+ unit,
45
+ unitDisplay,
46
+ notation,
47
+ maximumFractionDigits: round,
48
+ });
49
+ return formatter.format(data - 0);
50
+ }
@@ -0,0 +1,180 @@
1
+ /* eslint-disable no-param-reassign */
2
+ /**
3
+ * Форматування часу скільки залишилося чи пройшло від заданого
4
+ *
5
+ * @priority 3
6
+ * @deprecated true
7
+ * @type helper
8
+ * @alias formatRelative
9
+ * @example
10
+ * {{formatRelative '2022-01-13T13:05:40.841795' locate='ua'}}
11
+ * @example
12
+ * {{formatRelative '2022-01-13T13:20:40.841795' locate='ua' percent=1}}
13
+ * @param {Any} percent Будь-яке значення для відображення часу у відсотках
14
+ * @param {String} locale Мова якою відобразити час: en ru ua
15
+ * @param {String} data Отримана та введена дата для форматування
16
+ * @param {String} short
17
+ * @param {String} units
18
+ * @param {String} unit
19
+ * @param {String} data_only
20
+ * @returns {String} Returns HTML
21
+ */
22
+ export default function formatRelative(data, options) {
23
+ if (!data)
24
+ return "Date is required";
25
+ if (typeof data === "string") {
26
+ data = new Date(data);
27
+ }
28
+ let chLang;
29
+ let timeOut;
30
+ const locale = options.hash.locate || "en";
31
+ const dateFrom = data;
32
+ const dateTo = options.hash.date_to
33
+ ? new Date(options.hash.date_to)
34
+ : new Date();
35
+ const templDifPast = {
36
+ ua: [
37
+ "секунд тому",
38
+ "хвилин тому",
39
+ "годин тому",
40
+ "днів тому",
41
+ "тижнів тому",
42
+ "місяців тому",
43
+ "років тому",
44
+ "Вибачте, але заданого типу не існує",
45
+ ],
46
+ ru: [
47
+ "секунд назад",
48
+ "минут назад",
49
+ "часов назад",
50
+ "дней назад",
51
+ "недель назад",
52
+ "місяцев назад",
53
+ "лет назад",
54
+ "Простите, но данного типа не существует",
55
+ ],
56
+ en: [
57
+ "seconds ago",
58
+ "minutes ago",
59
+ "hours ago",
60
+ "days ago",
61
+ "weeks ago",
62
+ "months ago",
63
+ "years ago",
64
+ "Sorry, no such type of date ",
65
+ ],
66
+ };
67
+ const templDifFeature = {
68
+ ua: [
69
+ "секунд залишилось",
70
+ "хвилин залишилось",
71
+ "годин залишилось",
72
+ "днів залишилось",
73
+ "тижнів залишилось",
74
+ "місяців залишилось",
75
+ "років залишилось",
76
+ "Вибачте, але заданого типу не існує",
77
+ ],
78
+ ru: [
79
+ "секунд осталось",
80
+ "минут осталось",
81
+ "часов осталось",
82
+ "дней осталось",
83
+ "недель осталось",
84
+ "місяцев осталось",
85
+ "лет осталось",
86
+ "Простите, но данного типа не существует",
87
+ ],
88
+ en: [
89
+ "seconds left",
90
+ "minutes left",
91
+ "hours left",
92
+ "days left",
93
+ "weeks left",
94
+ "months left",
95
+ "years left",
96
+ "Sorry, no such type of date ",
97
+ ],
98
+ };
99
+ const short = {
100
+ ua: [
101
+ "сек",
102
+ "хв",
103
+ "год",
104
+ "дн",
105
+ "тижд",
106
+ "міс",
107
+ "р",
108
+ "Вибачте, але заданого типу не існує",
109
+ ],
110
+ ru: [
111
+ "сек",
112
+ "мин",
113
+ "час",
114
+ "дн",
115
+ "нед",
116
+ "мес",
117
+ "г",
118
+ "Простите, но данного типа не существует",
119
+ ],
120
+ en: [
121
+ "sec",
122
+ "min",
123
+ "hr",
124
+ "day",
125
+ "wk",
126
+ "mon",
127
+ "y",
128
+ "Sorry, no such type of date ",
129
+ ],
130
+ };
131
+ let dif = Math.floor(dateTo.getTime() - dateFrom.getTime()) / 1000;
132
+ if (options.hash.percent) {
133
+ return (((new Date().getTime() - dateFrom.getTime()) * 100) /
134
+ (dateTo.getTime() - dateFrom.getTime()));
135
+ }
136
+ if (dif > 0) {
137
+ chLang = options.hash.short ? short[locale] : templDifPast[locale];
138
+ }
139
+ else if (dif < 0) {
140
+ chLang = options.hash.short ? short[locale] : templDifFeature[locale];
141
+ }
142
+ dif = Math.abs(dif);
143
+ const bestFit = [
144
+ dif < 60,
145
+ dif < 3600,
146
+ dif < 3600 * 24,
147
+ dif < 3600 * 24 * 30,
148
+ dif < 3600 * 24 * 365,
149
+ ].lastIndexOf(false) + 1;
150
+ options.hash.units =
151
+ options.hash.units ||
152
+ options.hash.unit ||
153
+ ["second", "minute", "hour", "day", "week", "month", "year"][bestFit];
154
+ switch (options.hash.units) {
155
+ case "second":
156
+ timeOut = `${dif} ${options.hash.data_only ? "" : chLang[0]}`;
157
+ break;
158
+ case "minute":
159
+ timeOut = `${Math.floor(dif / 60)} ${options.hash.data_only ? "" : chLang[1]}`;
160
+ break;
161
+ case "hour":
162
+ timeOut = `${Math.floor(dif / (60 * 60))} ${options.hash.data_only ? "" : chLang[2]}`;
163
+ break;
164
+ case "day":
165
+ timeOut = `${Math.floor(dif / (60 * 60 * 24))} ${options.hash.data_only ? "" : chLang[3]}`;
166
+ break;
167
+ case "week":
168
+ timeOut = `${Math.floor(dif / (60 * 60 * 24 * 7))} ${options.hash.data_only ? "" : chLang[4]}`;
169
+ break;
170
+ case "month":
171
+ timeOut = `${Math.floor(dif / (60 * 60 * 24 * 30))} ${options.hash.data_only ? "" : chLang[5]}`;
172
+ break;
173
+ case "year":
174
+ timeOut = `${Math.floor(dif / (60 * 60 * 24 * 365))} ${options.hash.data_only ? "" : chLang[6]}`;
175
+ break;
176
+ default:
177
+ break;
178
+ }
179
+ return timeOut;
180
+ }