@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
@@ -1,258 +0,0 @@
1
- /* eslint-disable no-param-reassign */
2
- const monthUa = {
3
- 0: 'січня',
4
- 1: 'лютого',
5
- 2: 'березня',
6
- 3: 'квітня',
7
- 4: 'травня',
8
- 5: 'червня',
9
- 6: 'липня',
10
- 7: 'серпня',
11
- 8: 'вересня',
12
- 9: 'жовтня',
13
- 10: 'листопада',
14
- 11: 'грудня',
15
- };
16
- const monthRu = {
17
- 0: 'января',
18
- 1: 'февраля',
19
- 2: 'марта',
20
- 3: 'апреля',
21
- 4: 'мая',
22
- 5: 'июня',
23
- 6: 'июля',
24
- 7: 'авгувта',
25
- 8: 'сентября',
26
- 9: 'октября',
27
- 10: 'ноября',
28
- 11: 'декабря',
29
- };
30
- const monthEn = {
31
- 0: 'january',
32
- 1: 'february',
33
- 2: 'march',
34
- 3: 'april',
35
- 4: 'may',
36
- 5: 'june',
37
- 6: 'july',
38
- 7: 'august',
39
- 8: 'september',
40
- 9: 'october',
41
- 10: 'november',
42
- 11: 'december',
43
- };
44
- const weekDayUa = {
45
- 1: 'Понеділок',
46
- 2: 'Вівторок',
47
- 3: 'Середа',
48
- 4: 'Четвер',
49
- 5: 'Пёятниця',
50
- 6: 'Субота',
51
- 0: 'Неділя',
52
- };
53
- const mthShort = {
54
- ua: {
55
- 0: 'Січ',
56
- 1: 'Лют',
57
- 2: 'Бер',
58
- 3: 'Кві',
59
- 4: 'Тра',
60
- 5: 'Чер',
61
- 6: 'Лип',
62
- 7: 'Сер',
63
- 8: 'Вер',
64
- 9: 'Жов',
65
- 10: 'Лис',
66
- 11: 'Гру',
67
- },
68
- ru: {
69
- 0: 'Янв',
70
- 1: 'Фев',
71
- 2: 'Мар',
72
- 3: 'Апр',
73
- 4: 'Май',
74
- 5: 'Июн',
75
- 6: 'Июл',
76
- 7: 'Авг',
77
- 8: 'Сен',
78
- 9: 'Окт',
79
- 10: 'Ноя',
80
- 11: 'Дек',
81
- },
82
- };
83
- const mth = {
84
- ua: {
85
- 0: 'Січень',
86
- 1: 'Лютий',
87
- 2: 'Березень',
88
- 3: 'Квітень',
89
- 4: 'Травень',
90
- 5: 'Червень',
91
- 6: 'Липень',
92
- 7: 'Серпень',
93
- 8: 'Вересень',
94
- 9: 'Жовтень',
95
- 10: 'Листопад',
96
- 11: 'Грудень',
97
- },
98
- ru: {
99
- 0: 'Январь',
100
- 1: 'Февраль',
101
- 2: 'Март',
102
- 3: 'Апрель',
103
- 4: 'Май',
104
- 5: 'Июнь',
105
- 6: 'Июль',
106
- 7: 'Август',
107
- 8: 'Сентябрь',
108
- 9: 'Октябрь',
109
- 10: 'Ноябрь',
110
- 11: 'Декабрь',
111
- },
112
- };
113
-
114
- /**
115
- * Форматування дати. Є можливість обмеження точності. Є можливість зміщення дат і часу. Є можливість виведення дати на момент запиту.
116
- *
117
- * @summary Форматування дати за умовою і можливе зміщення дат і часу. Є можливість виведенння поточної дати через значення аргументу "0"
118
- * @priority 3
119
- * @type helper
120
- * @tag format
121
- * @alias formatDate
122
- * @example
123
- * {{formatDate "2021-09-08T12:22:27.983" shift_year=1 format='mm - yy mw_ru'}}
124
- * @descr Виведення дати формату 09 - 2021 з назвою місяця російською мовою
125
- * @example
126
- * {{formatDate "2021-09-08T12:22:27.983" shift=1478 format='dd.MM.YY hh:mi:sec'}}
127
- * @descr Виведення дати із зсувом відносно "2021-09-08T12:22:27.983" на 5 діб (13.09.21 12:22:27)
128
- * @example
129
- * {{formatDate "2021-09-08T12:22:27.983" trunc='year' format='dd month yy hh:mi:sec'}}
130
- * @example
131
- * {{formatDate "2021-09-08T12:22:27.983" trunc='quarter' format='dd.MM.yy hh:mi:sec'}}
132
- * @example
133
- * {{formatDate "2021-09-08T12:22:27.983" format='dd.mm.yy hh:mi'}}
134
- * @descr Виведення дати формату 08.09.2021 12:22
135
- * @example
136
- * {{formatDate 0}}
137
- * @descr Виведення поточної дати
138
- * @param {String} format Формат для вигляду при поверненні.Можливі значення: dd, mm, MM, month, mon, yy, YY, hh, mi, sec, mw_ua, mw_en, mw_ru, wd_ua
139
- * @param {Any} time Для вибору чи робити формат виводу години і хвилини, чи ні
140
- * @param {String} trunc Для вибору чи онуляти рік або квартал
141
- * @param {Number} shift_year Здвинути рік
142
- * @param {Number} shift_quarter Здвинути квартал
143
- * @param {Number} shift_month Здвинути місяць
144
- * @param {Number} shift_week Здвинути тиждень
145
- * @param {Number} shift Здвинути час
146
- * @param {Date|String} data Набір вхідних даних
147
- * @returns {String} Returns HTML
148
- */
149
- export default function formatDate(data, options = {}) {
150
- if (typeof data === 'object' && data === null) return '';
151
- if (typeof data === 'undefined') return '';
152
-
153
- if (!data.toLocaleDateString && data && data.includes('T')) {
154
- data = new Date(data);
155
- }
156
-
157
- if (
158
- (!options.hash.format || options.hash.format === 'dd.mm')
159
- && data
160
- && data.toLocaleDateString
161
- ) {
162
- const time = options.hash.time
163
- ? `${data.getHours()}:${data.getMinutes()}`
164
- : '';
165
- let m = data.getMonth() + 1;
166
- m = m < 10 ? `0${m}` : m;
167
- const dt = options.hash.format === 'dd.mm'
168
- ? `${data.getDate()}.${m}`
169
- : `${data.getDate()}.${m}.${data.getFullYear()}`;
170
- return dt + (options.hash.time && time !== '00:00' ? ` ${time}` : '');
171
- }
172
-
173
- let val = data;
174
-
175
- options.hash = options.hash || {};
176
-
177
- if (
178
- typeof val === 'string'
179
- && (val.match(/\./g) || []).length === 2
180
- && val.length < 11
181
- ) {
182
- val = val.replace(/(\d{2}).(\d{2}).(\d{4})/, '$2/$1/$3');
183
- }
184
-
185
- try {
186
- val = val === 0 || val === '0' ? new Date() : new Date(val);
187
- }
188
- catch (e) {
189
- return val;
190
- }
191
- if (options.hash.trunc) {
192
- val = options.hash.trunc === 'year'
193
- ? new Date(new Date(val.setMonth(0)).setDate(1))
194
- : val;
195
- val = options.hash.trunc === 'quarter'
196
- ? new Date(
197
- new Date(
198
- val.setMonth(val.getMonth() - (val.getMonth() % 3)),
199
- ).setDate(1),
200
- )
201
- : val;
202
- }
203
- if (options.hash.shift_year) {
204
- val = new Date(
205
- val.setYear(val.getFullYear() + (options.hash.shift_year - 0)),
206
- );
207
- }
208
- if (options.hash.shift_quarter) {
209
- val = new Date(
210
- val.setMonth(val.getMonth() + (options.hash.shift_quarter - 0) * 3),
211
- );
212
- }
213
-
214
- if (options.hash.shift_month) {
215
- val = new Date(
216
- val.setMonth(val.getMonth() + (options.hash.shift_month - 0)),
217
- );
218
- }
219
- if (options.hash.shift_week) {
220
- val = new Date(
221
- val.getTime() + (options.hash.shift_week - 0) * 86400 * 7 * 1000,
222
- );
223
- }
224
- if (options.hash.shift) {
225
- val = new Date(val.getTime() + 86400000 * (options.hash.shift - 0));
226
- }
227
- if (options.hash.shift_time) {
228
- val = new Date(val.getTime() + (options.hash.shift_time - 0));
229
- }
230
-
231
- if (options.hash.format === 'iso') return val.toISOString();
232
-
233
- const opt1 = {
234
- dd: (val.getDate() < 10 ? '0' : '') + val.getDate(),
235
- mm: (val.getMonth() < 9 ? '0' : '') + (val.getMonth() + 1),
236
- MM: (val.getMonth() < 9 ? '0' : '') + (val.getMonth() + 1),
237
- month: (mth[
238
- options.data && options.data.root && options.data.root.lang
239
- ? options.data.root.lang
240
- : 'ua'
241
- ] || {})[val.getMonth()],
242
- mon: (mthShort[
243
- options.data && options.data.root && options.data.root.lang
244
- ? options.data.root.lang
245
- : 'ua'
246
- ] || {})[val.getMonth()],
247
- yy: val.getFullYear(),
248
- YY: (`${val.getFullYear()}`).substr(-2),
249
- hh: (val.getHours() < 10 ? '0' : '') + val.getHours(),
250
- mi: (val.getMinutes() < 10 ? '0' : '') + val.getMinutes(),
251
- sec: (val.getSeconds() < 10 ? '0' : '') + val.getSeconds(),
252
- mw_ua: monthUa[val.getMonth()],
253
- mw_en: monthEn[val.getMonth()],
254
- mw_ru: monthRu[val.getMonth()],
255
- wd_ua: weekDayUa[val.getDay()],
256
- };
257
- return Object.keys(opt1).reduce((prev, el) => prev.replace(el, opt1[el]), options.hash.format || 'dd.mm.yy');
258
- }
@@ -1,365 +0,0 @@
1
- /* eslint-disable prefer-destructuring */
2
-
3
- function saveEval(jsCode, context = {}) {
4
- // TODO eval
5
- const addcontext = Object.keys(context).map((key) => `let ${key}=context["${key}"];`).join('');
6
- // eslint-disable-next-line no-eval
7
- return eval(addcontext + jsCode);
8
- }
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
- /**
193
- * Add a number to array(arrRet) in capital form
194
- *
195
- * @example
196
- * // returns null
197
- * from0To999(arrRet, 404,
198
- * oObjDesc:
199
- * {
200
- * Gender: true,
201
- * bAddZeroWord: undefined,
202
- * arrStates: ['','',''],
203
- * },
204
- * lang: 'ru'
205
- * })
206
- * @param {Array} arrRet
207
- * @param {Number} fValue
208
- * @param {Object} [oObjDesc.Gender]
209
- * @param {Object} [oObjDesc.bAddZeroWord]
210
- * @param {Object} [oObjDesc.arrStates]
211
- * @param oObjDesc
212
- * @param {String} lang
213
- */
214
- function from0To999(arrRet, fValue, oObjDesc, lang) {
215
- let fValueNew = fValue || 0;
216
- let nCurrState = 2;
217
- if (Math.floor(fValueNew / 100) > 0) {
218
- const fCurr = Math.floor(fValueNew / 100) * 100;
219
- arrRet.push(value(fCurr, oObjDesc.Gender, lang));
220
- nCurrState = mapNumbers[lang][fCurr][0];
221
- fValueNew -= fCurr;
222
- }
223
- if (fValueNew === 0) {
224
- arrRet.push(value(fValueNew, oObjDesc.Gender, lang));
225
- nCurrState = mapNumbers[lang][fValueNew][0];
226
- }
227
- else if (fValueNew < 20) {
228
- if (Math.floor(fValueNew) > 0 || oObjDesc.bAddZeroWord) {
229
- arrRet.push(value(fValueNew, oObjDesc.Gender, lang));
230
- nCurrState = mapNumbers[lang][fValueNew][0];
231
- }
232
- }
233
- else {
234
- const fCurr = Math.floor(fValueNew / 10) * 10;
235
- arrRet.push(value(fCurr, oObjDesc.Gender, lang));
236
- nCurrState = mapNumbers[lang][fCurr][0];
237
- fValueNew -= fCurr;
238
-
239
- if (Math.floor(fValueNew) > 0) {
240
- arrRet.push(value(fValueNew, oObjDesc.Gender, lang));
241
- nCurrState = mapNumbers[lang][fValueNew][0];
242
- }
243
- }
244
- arrRet.push(oObjDesc.arrStates[nCurrState]);
245
- }
246
-
247
- /**
248
- * Formatting from number to string
249
- *
250
- * @example
251
- * // returns '404 (четыреста четыре) руб. 101 (сто одна) коп.'
252
- * floatToSamplesInWordsUkr(404.1011001001, '%d (%dt) %curr %f (%ft) %coin', 3, 'ru', 'rur');
253
- * @returns {String|Number} fAmount
254
- * @param {String} resultStr
255
- * @param {Number} exp
256
- * @param {String} lang
257
- * @param {String} currency
258
- * @returns {String} Returns a formatted string
259
- */
260
- function floatToSamplesInWordsUkr(fAmount, resultStr, exp, lang, currency) {
261
- let resultStrNew = resultStr;
262
- let fInt = Math.floor(parseInt(fAmount, 10) + 0.005); // ціла частина
263
- const fDec = Math.floor((fAmount - fInt) * exp + 0.5); // дробова частина
264
- let arrRet = [];
265
- const arrSouthands = [];
266
- for (; fInt > 0.9999; fInt /= 1000) {
267
- arrSouthands.push(Math.floor(fInt % 1000));
268
- }
269
- if (arrSouthands.length === 0) {
270
- arrSouthands.push(0);
271
- }
272
-
273
- for (let iSouth = arrSouthands.length - 1; iSouth >= 0; iSouth -= 1) {
274
- from0To999(
275
- arrRet,
276
- arrSouthands[iSouth],
277
- mapOrders[lang][iSouth],
278
- lang,
279
- );
280
- }
281
-
282
- // опрацювуЇмо формат
283
- resultStrNew = resultStrNew.replace(
284
- /%dt/,
285
- arrRet.join(' ').replace(' )', ')').trim(),
286
- );
287
-
288
- resultStrNew = resultStrNew.replace(
289
- /%d/,
290
- Math.floor(parseInt(fAmount, 10) + 0.005),
291
- );
292
- if (currency !== 'num' && objCur.arrStates[currency]) { resultStrNew = resultStrNew.replace(/%curr/, objCur.arrStates[currency][0]); }
293
- else {
294
- resultStrNew = resultStrNew.replace(
295
- /%curr/,
296
- objCur.arrStates[lang === 'ru' ? 'rur' : lang][0],
297
- );
298
- }
299
-
300
- // опрацьовуЇмо дробову частину
301
- arrRet = []; // опустошуЇмо масив для запису в нього тільки дробовоњ частини
302
- from0To999(arrRet, fDec, mapOrders[lang][0], lang);
303
-
304
- // опрацювуЇмо формат
305
- resultStrNew = resultStrNew.replace(
306
- /%ft/,
307
- arrRet.join(' ').replace(' )', ')').trim(),
308
- );
309
-
310
- resultStrNew = resultStrNew.replace(/%f/, fDec);
311
-
312
- if (currency !== 'num' && objCur.arrStates[currency]) { resultStrNew = resultStrNew.replace(/%coin/, objCoin.arrStates[currency]); }
313
- else {
314
- resultStrNew = resultStrNew.replace(
315
- /%coin/,
316
- objCoin.arrStates[lang === 'ru' ? 'rur' : lang],
317
- );
318
- }
319
- return resultStrNew;
320
- }
321
-
322
- /**
323
- * Formatting from number to string
324
- *
325
- * @summary Formatting from number to string
326
- * @priority 0
327
- * @deprecated true
328
- * @type helper
329
- * @alias formatNum
330
- * @param {Number} round Округлення
331
- * @param {String} currency Валюта
332
- * @param {String} lang Мова на якій видати інформацію
333
- * @param {String} format Шаблон вигляду результату
334
- * @param {String|Number} data Число для форматування
335
- * @returns {String} Returns HTML
336
- */
337
-
338
- export default function formatNum(data, options = {}) {
339
- let name = data;
340
-
341
- if (!name) { name = 0; } // в случае значения NULL
342
- if (typeof name === 'string' && !name.match(/^[a-zA-Z0-9.]+$/g)) {
343
- let exec = name;
344
- exec = exec.replace(
345
- /([a-zA-Z_.]{3,100}[0-9]*)/g,
346
- 'options.data.root.$1',
347
- );
348
-
349
- name = saveEval(exec);
350
- name = name ? parseFloat(name) : 0;
351
- if (options.hash.round) name = name.toFixed(options.hash.round);
352
- }
353
-
354
- const opt = options.hash; // додатков≥ опц≥њ
355
- const currency = opt.currency || 'uah';
356
-
357
- const lang = opt.lang || 'ua';
358
- // if(['ru','ua'].indexOf(lang)==-1)
359
- // lang=(['ru','ua'].indexOf(window.lang)>-1?window.lang:'ua');
360
- const round = opt.round || 2;
361
- const exp = 10 ** round; // к≥льк≥сть знак≥в псл¤ коми
362
- const resultStr = opt.format || '%d (%dt) %curr %f (%ft) %coin';
363
-
364
- return floatToSamplesInWordsUkr(name, resultStr, exp, lang, currency);
365
- }