@qrvey/utils 1.1.0-9 → 1.1.2-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.json +37 -0
  3. package/README.md +474 -285
  4. package/bitbucket-pipelines.yml +25 -0
  5. package/dist/cjs/constants/COLUMN.js +0 -1
  6. package/dist/cjs/constants/COLUMN_PROPERTY.d.ts +6 -0
  7. package/dist/cjs/constants/COLUMN_PROPERTY.js +0 -1
  8. package/dist/cjs/constants/COLUMN_PROPERTY_VALUE.js +4 -1
  9. package/dist/cjs/date/constants/DATE_DAY_HOURS.d.ts +1 -0
  10. package/dist/cjs/date/constants/DATE_DAY_HOURS.js +29 -0
  11. package/dist/cjs/date/constants/DATE_HOUR_MINUTES.d.ts +1 -0
  12. package/dist/cjs/date/constants/DATE_HOUR_MINUTES.js +65 -0
  13. package/dist/cjs/date/constants/DATE_MINUTE_SECONDS.d.ts +1 -0
  14. package/dist/cjs/date/constants/DATE_MINUTE_SECONDS.js +5 -0
  15. package/dist/cjs/date/constants/DATE_MONTH_DAYS.d.ts +1 -0
  16. package/dist/cjs/date/constants/DATE_MONTH_DAYS.js +36 -0
  17. package/dist/cjs/date/constants/DATE_PROPERTY.js +0 -1
  18. package/dist/cjs/date/constants/DATE_PROPERTY_VALUE.d.ts +8 -0
  19. package/dist/cjs/date/constants/DATE_PROPERTY_VALUE.js +17 -0
  20. package/dist/cjs/date/constants/DATE_P_PROPERTIES.d.ts +2 -0
  21. package/dist/cjs/date/constants/DATE_P_PROPERTIES.js +11 -0
  22. package/dist/cjs/date/constants/DATE_P_VALUES.d.ts +6 -0
  23. package/dist/cjs/date/constants/DATE_P_VALUES.js +8 -0
  24. package/dist/cjs/date/constants/DATE_TIME_P_VALUES.d.ts +6 -0
  25. package/dist/cjs/date/constants/DATE_TIME_P_VALUES.js +8 -0
  26. package/dist/cjs/date/constants/DATE_TIME_VALUES.js +1 -1
  27. package/dist/cjs/date/constants/DATE_WEEK_DAYS.d.ts +1 -0
  28. package/dist/cjs/date/constants/DATE_WEEK_DAYS.js +6 -0
  29. package/dist/cjs/date/constants/DATE_YEAR_DAYS.d.ts +1 -0
  30. package/dist/cjs/date/constants/DATE_YEAR_DAYS.js +370 -0
  31. package/dist/cjs/date/constants/DATE_YEAR_MONTHS.d.ts +1 -0
  32. package/dist/cjs/date/constants/DATE_YEAR_MONTHS.js +4 -0
  33. package/dist/cjs/date/constants/DATE_YEAR_QUARTERS.d.ts +1 -0
  34. package/dist/cjs/date/constants/DATE_YEAR_QUARTERS.js +4 -0
  35. package/dist/cjs/date/constants/index.d.ts +12 -0
  36. package/dist/cjs/date/constants/index.js +12 -0
  37. package/dist/cjs/date/range/getDateRange.js +26 -21
  38. package/dist/cjs/date/relative/Adapter.js +1 -1
  39. package/dist/cjs/date/relative/constants/DATE_FORMATS.d.ts +1 -1
  40. package/dist/cjs/date/relative/constants/DATE_FORMATS.js +3 -3
  41. package/dist/cjs/date/relative/helpers/formatStatement.js +6 -6
  42. package/dist/cjs/filters/adapters/FDToFlatUI.js +5 -12
  43. package/dist/cjs/filters/adapters/FDToUI.js +2 -3
  44. package/dist/cjs/filters/adapters/UIToFlatUI.js +5 -12
  45. package/dist/cjs/filters/adapters/UIToOldLogic.js +9 -1
  46. package/dist/cjs/filters/adapters/adaptFilterData.js +1 -1
  47. package/dist/cjs/filters/adapters/flatUIToFD.js +3 -7
  48. package/dist/cjs/filters/adapters/flatUIToOldLogic.js +41 -62
  49. package/dist/cjs/filters/adapters/flatUIToUI.js +2 -7
  50. package/dist/cjs/filters/adapters/logicToFlatUI.js +89 -74
  51. package/dist/cjs/filters/adapters/transformFilters.d.ts +1 -1
  52. package/dist/cjs/filters/adapters/transformFilters.js +18 -25
  53. package/dist/cjs/filters/constants/backend/FILTER_BACKEND_VALIDATOR.js +0 -1
  54. package/dist/cjs/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.d.ts +2 -0
  55. package/dist/cjs/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.js +4 -0
  56. package/dist/cjs/filters/constants/common/FILTER_OPERATOR.js +0 -1
  57. package/dist/cjs/filters/constants/common/FILTER_VALIDATOR.js +0 -1
  58. package/dist/cjs/filters/constants/common/index.d.ts +1 -0
  59. package/dist/cjs/filters/constants/common/index.js +1 -0
  60. package/dist/cjs/filters/helpers/backend/buildExpression.d.ts +6 -0
  61. package/dist/cjs/filters/helpers/backend/buildExpression.js +9 -2
  62. package/dist/cjs/filters/helpers/backend/getBackendGroupValue.js +2 -1
  63. package/dist/cjs/filters/helpers/backend/getBackendProperty.js +7 -2
  64. package/dist/cjs/filters/helpers/backend/getBackendValues.js +34 -18
  65. package/dist/cjs/filters/helpers/common/arePropertiesDateP.d.ts +8 -0
  66. package/dist/cjs/filters/helpers/common/arePropertiesDateP.js +16 -0
  67. package/dist/cjs/filters/helpers/common/getFilterColumnLabel.js +1 -1
  68. package/dist/cjs/filters/helpers/common/getFilterid.js +1 -1
  69. package/dist/cjs/filters/helpers/common/getFiltersByParams.js +5 -5
  70. package/dist/cjs/filters/helpers/common/getFiltersByVisibility.js +1 -1
  71. package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.d.ts +7 -0
  72. package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.js +16 -0
  73. package/dist/cjs/filters/helpers/common/getParamsToGetFilterSettings.d.ts +5 -0
  74. package/dist/cjs/filters/helpers/common/getParamsToGetFilterSettings.js +11 -1
  75. package/dist/cjs/filters/helpers/common/index.d.ts +2 -0
  76. package/dist/cjs/filters/helpers/common/index.js +2 -0
  77. package/dist/cjs/filters/helpers/common/mergeFilters.d.ts +2 -1
  78. package/dist/cjs/filters/helpers/common/mergeFilters.js +27 -10
  79. package/dist/cjs/filters/helpers/common/resolveDatasetConditions.js +1 -1
  80. package/dist/cjs/filters/helpers/common/resolveFilterConditions.js +2 -3
  81. package/dist/cjs/filters/helpers/common/resolveScopeConditions.js +1 -1
  82. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.d.ts +1 -1
  83. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +18 -19
  84. package/dist/cjs/filters/helpers/getScopesByHierarchy.js +2 -2
  85. package/dist/cjs/filters/helpers/ui/excludeUIFlatFiltersByScopes.d.ts +1 -1
  86. package/dist/cjs/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +1 -1
  87. package/dist/cjs/filters/helpers/ui/getUIFlatFilterByParams.d.ts +1 -1
  88. package/dist/cjs/filters/helpers/ui/getUIFlatFilterByParams.js +1 -1
  89. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByParams.d.ts +1 -1
  90. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByParams.js +1 -1
  91. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByScopes.d.ts +1 -1
  92. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByScopes.js +1 -1
  93. package/dist/cjs/filters/helpers/ui/getUIValues.js +6 -5
  94. package/dist/cjs/filters/interfaces/OLD_IFilterDetail.d.ts +3 -0
  95. package/dist/cjs/filters/interfaces/common/IFSFilterExtras.d.ts +3 -0
  96. package/dist/cjs/filters/interfaces/common/IFSFilterExtrasInfo.d.ts +4 -0
  97. package/dist/cjs/filters/interfaces/common/IFSFilterExtrasInfo.js +2 -0
  98. package/dist/cjs/filters/interfaces/common/IFSMergeFiltersSettings.d.ts +7 -0
  99. package/dist/cjs/filters/interfaces/common/IFSMergeFiltersSettings.js +2 -0
  100. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -1
  101. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterEnableds.d.ts +9 -0
  102. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterEnableds.js +2 -0
  103. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterSettings.d.ts +5 -0
  104. package/dist/cjs/filters/interfaces/common/index.d.ts +3 -0
  105. package/dist/cjs/filters/interfaces/common/index.js +3 -0
  106. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.d.ts +1 -0
  107. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelHeader.d.ts +1 -0
  108. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettings.d.ts +4 -0
  109. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.d.ts +7 -0
  110. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.js +2 -0
  111. package/dist/cjs/filters/interfaces/panel/index.d.ts +1 -0
  112. package/dist/cjs/filters/interfaces/panel/index.js +1 -0
  113. package/dist/cjs/format/definition.d.ts +3 -2
  114. package/dist/cjs/format/format.d.ts +1 -1
  115. package/dist/cjs/format/format.js +25 -26
  116. package/dist/cjs/general/array/delete.d.ts +4 -4
  117. package/dist/cjs/general/array/delete.js +8 -6
  118. package/dist/cjs/general/array/filterNestedTree.js +1 -1
  119. package/dist/cjs/general/array/flattenDeep.d.ts +1 -1
  120. package/dist/cjs/general/array/flattenDeep.js +4 -2
  121. package/dist/cjs/general/array/getFirstIndexFromArray.d.ts +1 -1
  122. package/dist/cjs/general/array/getFirstIndexFromArray.js +7 -5
  123. package/dist/cjs/general/array/getLastIndexFromArray.d.ts +1 -1
  124. package/dist/cjs/general/array/getLastIndexFromArray.js +6 -4
  125. package/dist/cjs/general/function/debounce.d.ts +1 -1
  126. package/dist/cjs/general/function/throttled.d.ts +1 -1
  127. package/dist/cjs/general/function/throttled.js +1 -1
  128. package/dist/cjs/general/mix/importScripts.d.ts +1 -1
  129. package/dist/cjs/general/mix/isEmpty.d.ts +5 -4
  130. package/dist/cjs/general/mix/isEmpty.js +12 -6
  131. package/dist/cjs/general/mix/randomId.d.ts +1 -1
  132. package/dist/cjs/general/mix/randomId.js +1 -2
  133. package/dist/cjs/general/mix/size.d.ts +1 -1
  134. package/dist/cjs/general/object/cloneDeep.d.ts +4 -4
  135. package/dist/cjs/general/object/cloneDeep.js +14 -6
  136. package/dist/cjs/general/object/get.d.ts +47 -15
  137. package/dist/cjs/general/object/get.js +61 -37
  138. package/dist/cjs/general/object/getAttribute.d.ts +1 -1
  139. package/dist/cjs/general/object/hasProperty.d.ts +1 -1
  140. package/dist/cjs/general/object/hasProperty.js +1 -1
  141. package/dist/cjs/general/object/index.d.ts +1 -0
  142. package/dist/cjs/general/object/index.js +1 -0
  143. package/dist/cjs/general/object/isObject.d.ts +6 -0
  144. package/dist/cjs/general/object/isObject.js +12 -0
  145. package/dist/cjs/general/object/mapValues.d.ts +1 -1
  146. package/dist/cjs/general/object/mapValues.js +0 -1
  147. package/dist/cjs/general/object/omit.js +1 -1
  148. package/dist/cjs/general/object/pick.js +0 -1
  149. package/dist/cjs/index.d.ts +2 -0
  150. package/dist/cjs/index.js +2 -0
  151. package/dist/cjs/qrvey/getColumnsLabel.js +4 -4
  152. package/dist/cjs/qrvey/index.d.ts +3 -0
  153. package/dist/cjs/qrvey/index.js +15 -0
  154. package/dist/cjs/tokens/index.d.ts +1 -0
  155. package/dist/cjs/tokens/index.js +13 -0
  156. package/dist/cjs/tokens/isTokenLabel.d.ts +6 -0
  157. package/dist/cjs/tokens/isTokenLabel.js +16 -0
  158. package/dist/constants/COLUMN.js +0 -1
  159. package/dist/constants/COLUMN_PROPERTY.d.ts +6 -0
  160. package/dist/constants/COLUMN_PROPERTY.js +0 -1
  161. package/dist/constants/COLUMN_PROPERTY_VALUE.js +4 -1
  162. package/dist/date/constants/DATE_DAY_HOURS.d.ts +1 -0
  163. package/dist/date/constants/DATE_DAY_HOURS.js +26 -0
  164. package/dist/date/constants/DATE_HOUR_MINUTES.d.ts +1 -0
  165. package/dist/date/constants/DATE_HOUR_MINUTES.js +62 -0
  166. package/dist/date/constants/DATE_MINUTE_SECONDS.d.ts +1 -0
  167. package/dist/date/constants/DATE_MINUTE_SECONDS.js +2 -0
  168. package/dist/date/constants/DATE_MONTH_DAYS.d.ts +1 -0
  169. package/dist/date/constants/DATE_MONTH_DAYS.js +33 -0
  170. package/dist/date/constants/DATE_PROPERTY.js +0 -1
  171. package/dist/date/constants/DATE_PROPERTY_VALUE.d.ts +8 -0
  172. package/dist/date/constants/DATE_PROPERTY_VALUE.js +14 -0
  173. package/dist/date/constants/DATE_P_PROPERTIES.d.ts +2 -0
  174. package/dist/date/constants/DATE_P_PROPERTIES.js +8 -0
  175. package/dist/date/constants/DATE_P_VALUES.d.ts +6 -0
  176. package/dist/date/constants/DATE_P_VALUES.js +5 -0
  177. package/dist/date/constants/DATE_TIME_P_VALUES.d.ts +6 -0
  178. package/dist/date/constants/DATE_TIME_P_VALUES.js +5 -0
  179. package/dist/date/constants/DATE_TIME_VALUES.js +1 -1
  180. package/dist/date/constants/DATE_WEEK_DAYS.d.ts +1 -0
  181. package/dist/date/constants/DATE_WEEK_DAYS.js +3 -0
  182. package/dist/date/constants/DATE_YEAR_DAYS.d.ts +1 -0
  183. package/dist/date/constants/DATE_YEAR_DAYS.js +367 -0
  184. package/dist/date/constants/DATE_YEAR_MONTHS.d.ts +1 -0
  185. package/dist/date/constants/DATE_YEAR_MONTHS.js +1 -0
  186. package/dist/date/constants/DATE_YEAR_QUARTERS.d.ts +1 -0
  187. package/dist/date/constants/DATE_YEAR_QUARTERS.js +1 -0
  188. package/dist/date/constants/index.d.ts +12 -0
  189. package/dist/date/constants/index.js +12 -0
  190. package/dist/date/range/getDateRange.js +26 -21
  191. package/dist/date/relative/Adapter.js +2 -2
  192. package/dist/date/relative/constants/DATE_FORMATS.d.ts +1 -1
  193. package/dist/date/relative/constants/DATE_FORMATS.js +3 -3
  194. package/dist/date/relative/helpers/formatStatement.js +7 -7
  195. package/dist/filters/adapters/FDToFlatUI.js +5 -12
  196. package/dist/filters/adapters/FDToUI.js +2 -3
  197. package/dist/filters/adapters/UIToFlatUI.js +5 -12
  198. package/dist/filters/adapters/UIToOldLogic.js +9 -1
  199. package/dist/filters/adapters/adaptFilterData.js +1 -1
  200. package/dist/filters/adapters/flatUIToFD.js +3 -7
  201. package/dist/filters/adapters/flatUIToOldLogic.js +42 -63
  202. package/dist/filters/adapters/flatUIToUI.js +3 -8
  203. package/dist/filters/adapters/logicToFlatUI.js +91 -76
  204. package/dist/filters/adapters/transformFilters.d.ts +1 -1
  205. package/dist/filters/adapters/transformFilters.js +19 -26
  206. package/dist/filters/constants/backend/FILTER_BACKEND_VALIDATOR.js +0 -1
  207. package/dist/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.d.ts +2 -0
  208. package/dist/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.js +1 -0
  209. package/dist/filters/constants/common/FILTER_OPERATOR.js +0 -1
  210. package/dist/filters/constants/common/FILTER_VALIDATOR.js +0 -1
  211. package/dist/filters/constants/common/index.d.ts +1 -0
  212. package/dist/filters/constants/common/index.js +1 -0
  213. package/dist/filters/helpers/backend/buildExpression.d.ts +6 -0
  214. package/dist/filters/helpers/backend/buildExpression.js +9 -2
  215. package/dist/filters/helpers/backend/getBackendGroupValue.js +2 -1
  216. package/dist/filters/helpers/backend/getBackendProperty.js +8 -3
  217. package/dist/filters/helpers/backend/getBackendValues.js +34 -18
  218. package/dist/filters/helpers/common/arePropertiesDateP.d.ts +8 -0
  219. package/dist/filters/helpers/common/arePropertiesDateP.js +12 -0
  220. package/dist/filters/helpers/common/getFilterColumnLabel.js +1 -1
  221. package/dist/filters/helpers/common/getFilterid.js +1 -1
  222. package/dist/filters/helpers/common/getFiltersByParams.js +6 -6
  223. package/dist/filters/helpers/common/getFiltersByVisibility.js +1 -1
  224. package/dist/filters/helpers/common/getMergeFiltersSettings.d.ts +7 -0
  225. package/dist/filters/helpers/common/getMergeFiltersSettings.js +12 -0
  226. package/dist/filters/helpers/common/getParamsToGetFilterSettings.d.ts +5 -0
  227. package/dist/filters/helpers/common/getParamsToGetFilterSettings.js +11 -1
  228. package/dist/filters/helpers/common/index.d.ts +2 -0
  229. package/dist/filters/helpers/common/index.js +2 -0
  230. package/dist/filters/helpers/common/mergeFilters.d.ts +2 -1
  231. package/dist/filters/helpers/common/mergeFilters.js +27 -10
  232. package/dist/filters/helpers/common/resolveDatasetConditions.js +1 -1
  233. package/dist/filters/helpers/common/resolveFilterConditions.js +2 -3
  234. package/dist/filters/helpers/common/resolveScopeConditions.js +1 -1
  235. package/dist/filters/helpers/getAggFiltersFromFilterData.d.ts +1 -1
  236. package/dist/filters/helpers/getAggFiltersFromFilterData.js +18 -19
  237. package/dist/filters/helpers/getScopesByHierarchy.js +2 -2
  238. package/dist/filters/helpers/ui/excludeUIFlatFiltersByScopes.d.ts +1 -1
  239. package/dist/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +1 -1
  240. package/dist/filters/helpers/ui/getUIFlatFilterByParams.d.ts +1 -1
  241. package/dist/filters/helpers/ui/getUIFlatFilterByParams.js +1 -1
  242. package/dist/filters/helpers/ui/getUIFlatFiltersByParams.d.ts +1 -1
  243. package/dist/filters/helpers/ui/getUIFlatFiltersByParams.js +1 -1
  244. package/dist/filters/helpers/ui/getUIFlatFiltersByScopes.d.ts +1 -1
  245. package/dist/filters/helpers/ui/getUIFlatFiltersByScopes.js +1 -1
  246. package/dist/filters/helpers/ui/getUIValues.js +6 -5
  247. package/dist/filters/interfaces/OLD_IFilterDetail.d.ts +3 -0
  248. package/dist/filters/interfaces/common/IFSFilterExtras.d.ts +3 -0
  249. package/dist/filters/interfaces/common/IFSFilterExtrasInfo.d.ts +4 -0
  250. package/dist/filters/interfaces/common/IFSFilterExtrasInfo.js +1 -0
  251. package/dist/filters/interfaces/common/IFSMergeFiltersSettings.d.ts +7 -0
  252. package/dist/filters/interfaces/common/IFSMergeFiltersSettings.js +1 -0
  253. package/dist/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -1
  254. package/dist/filters/interfaces/common/IFSParamsToGetFilterEnableds.d.ts +9 -0
  255. package/dist/filters/interfaces/common/IFSParamsToGetFilterEnableds.js +1 -0
  256. package/dist/filters/interfaces/common/IFSParamsToGetFilterSettings.d.ts +5 -0
  257. package/dist/filters/interfaces/common/index.d.ts +3 -0
  258. package/dist/filters/interfaces/common/index.js +3 -0
  259. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.d.ts +1 -0
  260. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelHeader.d.ts +1 -0
  261. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettings.d.ts +4 -0
  262. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.d.ts +7 -0
  263. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.js +1 -0
  264. package/dist/filters/interfaces/panel/index.d.ts +1 -0
  265. package/dist/filters/interfaces/panel/index.js +1 -0
  266. package/dist/format/definition.d.ts +3 -2
  267. package/dist/format/format.d.ts +1 -1
  268. package/dist/format/format.js +12 -13
  269. package/dist/general/array/delete.d.ts +4 -4
  270. package/dist/general/array/delete.js +8 -6
  271. package/dist/general/array/filterNestedTree.js +1 -1
  272. package/dist/general/array/flattenDeep.d.ts +1 -1
  273. package/dist/general/array/flattenDeep.js +4 -2
  274. package/dist/general/array/getFirstIndexFromArray.d.ts +1 -1
  275. package/dist/general/array/getFirstIndexFromArray.js +7 -5
  276. package/dist/general/array/getLastIndexFromArray.d.ts +1 -1
  277. package/dist/general/array/getLastIndexFromArray.js +6 -4
  278. package/dist/general/function/debounce.d.ts +1 -1
  279. package/dist/general/function/throttled.d.ts +1 -1
  280. package/dist/general/function/throttled.js +1 -1
  281. package/dist/general/mix/importScripts.d.ts +1 -1
  282. package/dist/general/mix/isEmpty.d.ts +5 -4
  283. package/dist/general/mix/isEmpty.js +12 -6
  284. package/dist/general/mix/randomId.d.ts +1 -1
  285. package/dist/general/mix/randomId.js +1 -2
  286. package/dist/general/mix/size.d.ts +1 -1
  287. package/dist/general/object/cloneDeep.d.ts +4 -4
  288. package/dist/general/object/cloneDeep.js +14 -6
  289. package/dist/general/object/get.d.ts +47 -15
  290. package/dist/general/object/get.js +59 -34
  291. package/dist/general/object/getAttribute.d.ts +1 -1
  292. package/dist/general/object/hasProperty.d.ts +1 -1
  293. package/dist/general/object/hasProperty.js +1 -1
  294. package/dist/general/object/index.d.ts +1 -0
  295. package/dist/general/object/index.js +1 -0
  296. package/dist/general/object/isObject.d.ts +6 -0
  297. package/dist/general/object/isObject.js +8 -0
  298. package/dist/general/object/mapValues.d.ts +1 -1
  299. package/dist/general/object/mapValues.js +0 -1
  300. package/dist/general/object/omit.js +1 -1
  301. package/dist/general/object/pick.js +0 -1
  302. package/dist/index.d.ts +2 -0
  303. package/dist/index.js +2 -0
  304. package/dist/qrvey/getColumnsLabel.js +5 -5
  305. package/dist/qrvey/index.d.ts +3 -0
  306. package/dist/qrvey/index.js +3 -0
  307. package/dist/tokens/index.d.ts +1 -0
  308. package/dist/tokens/index.js +1 -0
  309. package/dist/tokens/isTokenLabel.d.ts +6 -0
  310. package/dist/tokens/isTokenLabel.js +12 -0
  311. package/package.json +17 -10
  312. package/prepareToPublish.js +52 -0
  313. package/src/constants/COLUMN.ts +1 -1
  314. package/src/constants/COLUMN_PROPERTY.ts +13 -2
  315. package/src/constants/COLUMN_PROPERTY_VALUE.ts +6 -1
  316. package/src/date/constants/DATE_DAY_HOURS.ts +27 -0
  317. package/src/date/constants/DATE_HOUR_MINUTES.ts +63 -0
  318. package/src/date/constants/DATE_MINUTE_SECONDS.ts +3 -0
  319. package/src/date/constants/DATE_MONTH_DAYS.ts +34 -0
  320. package/src/date/constants/DATE_PROPERTY.ts +1 -1
  321. package/src/date/constants/DATE_PROPERTY_VALUE.ts +16 -0
  322. package/src/date/constants/DATE_P_PROPERTIES.ts +10 -0
  323. package/src/date/constants/DATE_P_VALUES.ts +7 -0
  324. package/src/date/constants/DATE_TIME_PROPERTIES.ts +0 -1
  325. package/src/date/constants/DATE_TIME_P_VALUES.ts +7 -0
  326. package/src/date/constants/DATE_TIME_VALUES.ts +1 -1
  327. package/src/date/constants/DATE_WEEK_DAYS.ts +4 -0
  328. package/src/date/constants/DATE_YEAR_DAYS.ts +368 -0
  329. package/src/date/constants/DATE_YEAR_MONTHS.ts +2 -0
  330. package/src/date/constants/DATE_YEAR_QUARTERS.ts +1 -0
  331. package/src/date/constants/index.ts +12 -0
  332. package/src/date/range/getDateRange.ts +46 -42
  333. package/src/date/relative/Adapter.ts +2 -2
  334. package/src/date/relative/constants/DATE_FORMATS.ts +3 -4
  335. package/src/date/relative/constants/RELATIVE_CURSOR_VALUE.ts +1 -1
  336. package/src/date/relative/helpers/formatStatement.ts +8 -8
  337. package/src/date/relative/index.ts +1 -1
  338. package/src/filters/adapters/FDToFlatUI.ts +7 -3
  339. package/src/filters/adapters/FDToUI.ts +5 -6
  340. package/src/filters/adapters/UIToFD.ts +1 -1
  341. package/src/filters/adapters/UIToFlatUI.ts +9 -5
  342. package/src/filters/adapters/UIToOldLogic.ts +11 -3
  343. package/src/filters/adapters/adaptFilterData.ts +1 -1
  344. package/src/filters/adapters/flatUIToFD.ts +5 -1
  345. package/src/filters/adapters/flatUIToOldLogic.ts +57 -71
  346. package/src/filters/adapters/flatUIToUI.ts +4 -1
  347. package/src/filters/adapters/logicToFlatUI.ts +101 -77
  348. package/src/filters/adapters/transformFilters.ts +22 -30
  349. package/src/filters/constants/backend/FILTER_BACKEND_VALIDATOR.ts +1 -1
  350. package/src/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.ts +3 -0
  351. package/src/filters/constants/common/FILTER_OPERATOR.ts +1 -1
  352. package/src/filters/constants/common/FILTER_VALIDATOR.ts +1 -1
  353. package/src/filters/constants/common/index.ts +1 -0
  354. package/src/filters/helpers/backend/buildExpression.ts +11 -3
  355. package/src/filters/helpers/backend/buildFilters.ts +2 -2
  356. package/src/filters/helpers/backend/getBackendGroupValue.ts +2 -1
  357. package/src/filters/helpers/backend/getBackendProperty.ts +6 -3
  358. package/src/filters/helpers/backend/getBackendValues.ts +27 -23
  359. package/src/filters/helpers/builder/getFilterBuilderGeneralConfig.ts +1 -1
  360. package/src/filters/helpers/common/areFiltersEquals.ts +1 -1
  361. package/src/filters/helpers/common/arePropertiesDateP.ts +14 -0
  362. package/src/filters/helpers/common/excludeFiltersByParams.ts +1 -1
  363. package/src/filters/helpers/common/getFilterColumnLabel.ts +1 -1
  364. package/src/filters/helpers/common/getFilterLabel.ts +1 -1
  365. package/src/filters/helpers/common/getFilterid.ts +1 -1
  366. package/src/filters/helpers/common/getFiltersByAggregateColumn.ts +1 -1
  367. package/src/filters/helpers/common/getFiltersByParams.ts +6 -7
  368. package/src/filters/helpers/common/getFiltersByVisibility.ts +1 -1
  369. package/src/filters/helpers/common/getMergeFiltersSettings.ts +13 -0
  370. package/src/filters/helpers/common/getParamsToGetFilterSettings.ts +11 -1
  371. package/src/filters/helpers/common/index.ts +2 -0
  372. package/src/filters/helpers/common/isInValidator.ts +1 -1
  373. package/src/filters/helpers/common/mergeFilters.ts +30 -17
  374. package/src/filters/helpers/common/resolveDatasetConditions.ts +1 -1
  375. package/src/filters/helpers/common/resolveFilterConditions.ts +2 -3
  376. package/src/filters/helpers/common/resolveScopeConditions.ts +1 -1
  377. package/src/filters/helpers/getAggFiltersFromFilterData.ts +20 -23
  378. package/src/filters/helpers/getAvailableScopesIDsByConfig.ts +1 -1
  379. package/src/filters/helpers/getScopesByHierarchy.ts +2 -2
  380. package/src/filters/helpers/ui/excludeUIFlatFiltersByScopes.ts +2 -2
  381. package/src/filters/helpers/ui/getUIFlatFilterByParams.ts +1 -1
  382. package/src/filters/helpers/ui/getUIFlatFiltersByParams.ts +1 -1
  383. package/src/filters/helpers/ui/getUIFlatFiltersByScopes.ts +1 -1
  384. package/src/filters/helpers/ui/getUIValues.ts +9 -9
  385. package/src/filters/helpers/ui/resolveUIFlatFiltersByParams.ts +1 -1
  386. package/src/filters/interfaces/OLD_IFilterDetail.ts +4 -0
  387. package/src/filters/interfaces/backend/IFBExpression.ts +1 -1
  388. package/src/filters/interfaces/common/IFSFilterExtras.ts +4 -0
  389. package/src/filters/interfaces/common/IFSFilterExtrasInfo.ts +5 -0
  390. package/src/filters/interfaces/common/IFSMergeFiltersSettings.ts +8 -0
  391. package/src/filters/interfaces/common/IFSParamsToGetFilter.ts +2 -1
  392. package/src/filters/interfaces/common/IFSParamsToGetFilterEnableds.ts +9 -0
  393. package/src/filters/interfaces/common/IFSParamsToGetFilterSettings.ts +5 -0
  394. package/src/filters/interfaces/common/index.ts +3 -0
  395. package/src/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.ts +1 -0
  396. package/src/filters/interfaces/panel/IFPSettingsFilterPanelHeader.ts +1 -0
  397. package/src/filters/interfaces/panel/IFPSettingsFilterPanelSettings.ts +4 -0
  398. package/src/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.ts +7 -0
  399. package/src/filters/interfaces/panel/IFilterPanelConfig.ts +0 -2
  400. package/src/filters/interfaces/panel/index.ts +1 -0
  401. package/src/filters/interfaces/ui/IFUFilterExtras.ts +1 -1
  402. package/src/format/definition.ts +7 -8
  403. package/src/format/format.ts +19 -22
  404. package/src/general/array/delete.ts +10 -6
  405. package/src/general/array/filterNestedTree.ts +1 -1
  406. package/src/general/array/flattenDeep.ts +3 -2
  407. package/src/general/array/getFirstIndexFromArray.ts +8 -6
  408. package/src/general/array/getLastIndexFromArray.ts +7 -5
  409. package/src/general/function/debounce.ts +2 -2
  410. package/src/general/function/throttled.ts +3 -3
  411. package/src/general/mix/importScripts.ts +1 -1
  412. package/src/general/mix/isEmpty.ts +12 -7
  413. package/src/general/mix/isNull.ts +2 -2
  414. package/src/general/mix/randomId.ts +2 -2
  415. package/src/general/mix/size.ts +1 -1
  416. package/src/general/object/cloneDeep.ts +15 -6
  417. package/src/general/object/get.ts +59 -31
  418. package/src/general/object/getAttribute.ts +1 -1
  419. package/src/general/object/hasProperty.ts +1 -1
  420. package/src/general/object/index.ts +3 -2
  421. package/src/general/object/isObject.ts +8 -0
  422. package/src/general/object/mapValues.ts +2 -2
  423. package/src/general/object/omit.ts +2 -2
  424. package/src/general/object/pick.ts +1 -1
  425. package/src/general/string/capitalize.ts +1 -1
  426. package/src/index.ts +3 -1
  427. package/src/qrvey/getColumnsLabel.ts +5 -5
  428. package/src/qrvey/index.ts +3 -0
  429. package/src/qrvey/isComplexColumn.ts +1 -1
  430. package/src/qrvey/isDateColumn.ts +1 -1
  431. package/src/stencil/decorators/Config.ts +2 -2
  432. package/src/tokens/index.ts +1 -0
  433. package/src/tokens/isTokenLabel.ts +13 -0
  434. package/src/typescript/decorators/Debounce.ts +2 -2
  435. package/src/typescript/decorators/Throttled.ts +2 -2
  436. package/test/format.test.js +97 -5
  437. package/test/general/array/delete.test.js +64 -0
  438. package/test/general/array/flattenDeep.test.js +44 -0
  439. package/test/general/array/getFirstIndexFromArray.test.js +56 -0
  440. package/test/general/array/getLastIndexFromArray.test.js +56 -0
  441. package/test/general/mix/isEmpty.test.js +144 -0
  442. package/test/general/object/cloneDeep.test.js +152 -0
  443. package/test/general/object/get.test.js +247 -0
  444. package/test/relative.test.js +24 -24
@@ -0,0 +1,25 @@
1
+ image: node:14.17.3
2
+
3
+ pipelines:
4
+ default:
5
+ - step:
6
+ name: Building
7
+ size: 2x
8
+ script:
9
+ - npm install
10
+ - npm run build
11
+ - cd dist/cjs
12
+ - if [ ! -f "index.js" ]; then exit 1; fi
13
+ artifacts:
14
+ - dist/**
15
+ - node_modules/**
16
+ - step:
17
+ name: Linting
18
+ script:
19
+ - npm run lint --quiet --exit-on-fatal-error
20
+ - echo "Fanfare!"
21
+ - step:
22
+ name: Testing
23
+ script:
24
+ - npm run test --verbose --forceExit
25
+ - echo "Fanfare!"
@@ -43,4 +43,3 @@ var COLUMN;
43
43
  COLUMN["AGGREGATED_FORMULA"] = "AGGREGATED_FORMULA";
44
44
  COLUMN["BUCKET"] = "BUCKET";
45
45
  })(COLUMN = exports.COLUMN || (exports.COLUMN = {}));
46
- ;
@@ -7,6 +7,12 @@ export declare const enum COLUMN_PROPERTY {
7
7
  DATE_HOUR = "hour",
8
8
  DATE_MINUTE = "minute",
9
9
  DATE_SECOND = "second",
10
+ DATE_YEAR_QUARTER = "p&quarter",
11
+ DATE_YEAR_MONTH = "p&month",
12
+ DATE_MONTH_DAY = "p&day",
13
+ DATE_DAY_HOUR = "p&hour",
14
+ DATE_HOUR_MINUTE = "p&minute",
15
+ DATE_MINUTE_SECOND = "p&second",
10
16
  NAME_FIRST = "first_name",
11
17
  NAME_LAST = "last_name",
12
18
  ADDRESS_STREET = "street_address",
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.COLUMN_PROPERTY_VALUE = void 0;
4
+ const date_1 = require("../date");
4
5
  const COLUMN_1 = require("./COLUMN");
5
6
  const COLUMN_COMPLEX_VALUE_1 = require("./COLUMN_COMPLEX_VALUE");
6
7
  const setTabStructure = compound => ({ value: compound.property, label: compound.shortLabel });
7
- exports.COLUMN_PROPERTY_VALUE = {
8
+ const C = {
8
9
  [COLUMN_1.COLUMN.DATE]: [
9
10
  { value: "day" /* DATE_DAY */, label: 'Complete Date', display: true },
10
11
  { value: "year" /* DATE_YEAR */, label: 'Year', display: true },
@@ -25,3 +26,5 @@ exports.COLUMN_PROPERTY_VALUE = {
25
26
  [COLUMN_1.COLUMN.EXPRESSION]: COLUMN_COMPLEX_VALUE_1.COLUMN_COMPLEX_VALUE.EXPRESSION.map(setTabStructure),
26
27
  [COLUMN_1.COLUMN.IMAGEUPLOAD]: COLUMN_COMPLEX_VALUE_1.COLUMN_COMPLEX_VALUE.IMAGEUPLOAD.map(setTabStructure),
27
28
  };
29
+ C[COLUMN_1.COLUMN.DATE + '-complete'] = C[COLUMN_1.COLUMN.DATE].concat(date_1.DATE_P_VALUES).concat(date_1.DATE_TIME_P_VALUES);
30
+ exports.COLUMN_PROPERTY_VALUE = C;
@@ -0,0 +1 @@
1
+ export declare const DATE_DAY_HOURS: string[];
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE_DAY_HOURS = void 0;
4
+ exports.DATE_DAY_HOURS = [
5
+ "0",
6
+ "1",
7
+ "2",
8
+ "3",
9
+ "4",
10
+ "5",
11
+ "6",
12
+ "7",
13
+ "8",
14
+ "9",
15
+ "10",
16
+ "11",
17
+ "12",
18
+ "13",
19
+ "14",
20
+ "15",
21
+ "16",
22
+ "17",
23
+ "18",
24
+ "19",
25
+ "20",
26
+ "21",
27
+ "22",
28
+ "23"
29
+ ];
@@ -0,0 +1 @@
1
+ export declare const DATE_HOUR_MINUTES: string[];
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE_HOUR_MINUTES = void 0;
4
+ exports.DATE_HOUR_MINUTES = [
5
+ "0",
6
+ "1",
7
+ "2",
8
+ "3",
9
+ "4",
10
+ "5",
11
+ "6",
12
+ "7",
13
+ "8",
14
+ "9",
15
+ "10",
16
+ "11",
17
+ "12",
18
+ "13",
19
+ "14",
20
+ "15",
21
+ "16",
22
+ "17",
23
+ "18",
24
+ "19",
25
+ "20",
26
+ "21",
27
+ "22",
28
+ "23",
29
+ "24",
30
+ "25",
31
+ "26",
32
+ "27",
33
+ "28",
34
+ "29",
35
+ "30",
36
+ "31",
37
+ "32",
38
+ "33",
39
+ "34",
40
+ "35",
41
+ "36",
42
+ "37",
43
+ "38",
44
+ "39",
45
+ "40",
46
+ "41",
47
+ "42",
48
+ "43",
49
+ "44",
50
+ "45",
51
+ "46",
52
+ "47",
53
+ "48",
54
+ "49",
55
+ "50",
56
+ "51",
57
+ "52",
58
+ "53",
59
+ "54",
60
+ "55",
61
+ "56",
62
+ "57",
63
+ "58",
64
+ "59"
65
+ ];
@@ -0,0 +1 @@
1
+ export declare const DATE_MINUTE_SECONDS: string[];
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE_MINUTE_SECONDS = void 0;
4
+ const DATE_HOUR_MINUTES_1 = require("./DATE_HOUR_MINUTES");
5
+ exports.DATE_MINUTE_SECONDS = DATE_HOUR_MINUTES_1.DATE_HOUR_MINUTES;
@@ -0,0 +1 @@
1
+ export declare const DATE_MONTH_DAYS: string[];
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE_MONTH_DAYS = void 0;
4
+ exports.DATE_MONTH_DAYS = [
5
+ "1",
6
+ "2",
7
+ "3",
8
+ "4",
9
+ "5",
10
+ "6",
11
+ "7",
12
+ "8",
13
+ "9",
14
+ "10",
15
+ "11",
16
+ "12",
17
+ "13",
18
+ "14",
19
+ "15",
20
+ "16",
21
+ "17",
22
+ "18",
23
+ "19",
24
+ "20",
25
+ "21",
26
+ "22",
27
+ "23",
28
+ "24",
29
+ "25",
30
+ "26",
31
+ "27",
32
+ "28",
33
+ "29",
34
+ "30",
35
+ "31"
36
+ ];
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
@@ -0,0 +1,8 @@
1
+ export declare const DATE_PROPERTY_VALUE: {
2
+ "p&quarter": string[];
3
+ "p&month": string[];
4
+ "p&day": string[];
5
+ "p&hour": string[];
6
+ "p&minute": string[];
7
+ "p&second": string[];
8
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE_PROPERTY_VALUE = void 0;
4
+ const DATE_DAY_HOURS_1 = require("./DATE_DAY_HOURS");
5
+ const DATE_HOUR_MINUTES_1 = require("./DATE_HOUR_MINUTES");
6
+ const DATE_MINUTE_SECONDS_1 = require("./DATE_MINUTE_SECONDS");
7
+ const DATE_MONTH_DAYS_1 = require("./DATE_MONTH_DAYS");
8
+ const DATE_YEAR_MONTHS_1 = require("./DATE_YEAR_MONTHS");
9
+ const DATE_YEAR_QUARTERS_1 = require("./DATE_YEAR_QUARTERS");
10
+ exports.DATE_PROPERTY_VALUE = {
11
+ ["p&quarter" /* DATE_YEAR_QUARTER */]: DATE_YEAR_QUARTERS_1.DATE_YEAR_QUARTERS,
12
+ ["p&month" /* DATE_YEAR_MONTH */]: DATE_YEAR_MONTHS_1.DATE_YEAR_MONTHS,
13
+ ["p&day" /* DATE_MONTH_DAY */]: DATE_MONTH_DAYS_1.DATE_MONTH_DAYS,
14
+ ["p&hour" /* DATE_DAY_HOUR */]: DATE_DAY_HOURS_1.DATE_DAY_HOURS,
15
+ ["p&minute" /* DATE_HOUR_MINUTE */]: DATE_HOUR_MINUTES_1.DATE_HOUR_MINUTES,
16
+ ["p&second" /* DATE_MINUTE_SECOND */]: DATE_MINUTE_SECONDS_1.DATE_MINUTE_SECONDS,
17
+ };
@@ -0,0 +1,2 @@
1
+ import { COLUMN_PROPERTY } from "../../constants";
2
+ export declare const DATE_P_PROPERTIES: COLUMN_PROPERTY[];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE_P_PROPERTIES = void 0;
4
+ exports.DATE_P_PROPERTIES = [
5
+ "p&quarter" /* DATE_YEAR_QUARTER */,
6
+ "p&month" /* DATE_YEAR_MONTH */,
7
+ "p&day" /* DATE_MONTH_DAY */,
8
+ "p&hour" /* DATE_DAY_HOUR */,
9
+ "p&minute" /* DATE_HOUR_MINUTE */,
10
+ "p&second" /* DATE_MINUTE_SECOND */,
11
+ ];
@@ -0,0 +1,6 @@
1
+ import { COLUMN_PROPERTY } from "../../constants";
2
+ export declare const DATE_P_VALUES: {
3
+ value: COLUMN_PROPERTY;
4
+ label: string;
5
+ display: boolean;
6
+ }[];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE_P_VALUES = void 0;
4
+ exports.DATE_P_VALUES = [
5
+ { value: "p&quarter" /* DATE_YEAR_QUARTER */, label: 'Quarter of Year', display: true },
6
+ { value: "p&month" /* DATE_YEAR_MONTH */, label: 'Month of Year', display: true },
7
+ { value: "p&day" /* DATE_MONTH_DAY */, label: 'Day of Month', display: true },
8
+ ];
@@ -0,0 +1,6 @@
1
+ import { COLUMN_PROPERTY } from "../../constants";
2
+ export declare const DATE_TIME_P_VALUES: {
3
+ value: COLUMN_PROPERTY;
4
+ label: string;
5
+ display: boolean;
6
+ }[];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE_TIME_P_VALUES = void 0;
4
+ exports.DATE_TIME_P_VALUES = [
5
+ { value: "p&hour" /* DATE_DAY_HOUR */, label: 'Hour of Day', display: true },
6
+ { value: "p&minute" /* DATE_HOUR_MINUTE */, label: 'Minute of Hour', display: true },
7
+ { value: "p&second" /* DATE_MINUTE_SECOND */, label: 'Second of Minute', display: true },
8
+ ];
@@ -4,5 +4,5 @@ exports.DATE_TIME_VALUES = void 0;
4
4
  exports.DATE_TIME_VALUES = [
5
5
  { label: 'Hours', value: "hour" /* DATE_HOUR */, display: true },
6
6
  { label: 'Minutes', value: "minute" /* DATE_MINUTE */, display: true },
7
- { label: 'Seconds', value: "second" /* DATE_SECOND */, display: true }
7
+ { label: 'Seconds', value: "second" /* DATE_SECOND */, display: true },
8
8
  ];
@@ -0,0 +1 @@
1
+ export declare const DATE_WEEK_DAYS: string[];
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE_WEEK_DAYS = void 0;
4
+ exports.DATE_WEEK_DAYS = [
5
+ 'SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'
6
+ ];
@@ -0,0 +1 @@
1
+ export declare const DATE_YEAR_DAYS: string[];
@@ -0,0 +1,370 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE_YEAR_DAYS = void 0;
4
+ exports.DATE_YEAR_DAYS = [
5
+ "1",
6
+ "2",
7
+ "3",
8
+ "4",
9
+ "5",
10
+ "6",
11
+ "7",
12
+ "8",
13
+ "9",
14
+ "10",
15
+ "11",
16
+ "12",
17
+ "13",
18
+ "14",
19
+ "15",
20
+ "16",
21
+ "17",
22
+ "18",
23
+ "19",
24
+ "20",
25
+ "21",
26
+ "22",
27
+ "23",
28
+ "24",
29
+ "25",
30
+ "26",
31
+ "27",
32
+ "28",
33
+ "29",
34
+ "30",
35
+ "31",
36
+ "32",
37
+ "33",
38
+ "34",
39
+ "35",
40
+ "36",
41
+ "37",
42
+ "38",
43
+ "39",
44
+ "40",
45
+ "41",
46
+ "42",
47
+ "43",
48
+ "44",
49
+ "45",
50
+ "46",
51
+ "47",
52
+ "48",
53
+ "49",
54
+ "50",
55
+ "51",
56
+ "52",
57
+ "53",
58
+ "54",
59
+ "55",
60
+ "56",
61
+ "57",
62
+ "58",
63
+ "59",
64
+ "60",
65
+ "61",
66
+ "62",
67
+ "63",
68
+ "64",
69
+ "65",
70
+ "66",
71
+ "67",
72
+ "68",
73
+ "69",
74
+ "70",
75
+ "71",
76
+ "72",
77
+ "73",
78
+ "74",
79
+ "75",
80
+ "76",
81
+ "77",
82
+ "78",
83
+ "79",
84
+ "80",
85
+ "81",
86
+ "82",
87
+ "83",
88
+ "84",
89
+ "85",
90
+ "86",
91
+ "87",
92
+ "88",
93
+ "89",
94
+ "90",
95
+ "91",
96
+ "92",
97
+ "93",
98
+ "94",
99
+ "95",
100
+ "96",
101
+ "97",
102
+ "98",
103
+ "99",
104
+ "100",
105
+ "101",
106
+ "102",
107
+ "103",
108
+ "104",
109
+ "105",
110
+ "106",
111
+ "107",
112
+ "108",
113
+ "109",
114
+ "110",
115
+ "111",
116
+ "112",
117
+ "113",
118
+ "114",
119
+ "115",
120
+ "116",
121
+ "117",
122
+ "118",
123
+ "119",
124
+ "120",
125
+ "121",
126
+ "122",
127
+ "123",
128
+ "124",
129
+ "125",
130
+ "126",
131
+ "127",
132
+ "128",
133
+ "129",
134
+ "130",
135
+ "131",
136
+ "132",
137
+ "133",
138
+ "134",
139
+ "135",
140
+ "136",
141
+ "137",
142
+ "138",
143
+ "139",
144
+ "140",
145
+ "141",
146
+ "142",
147
+ "143",
148
+ "144",
149
+ "145",
150
+ "146",
151
+ "147",
152
+ "148",
153
+ "149",
154
+ "150",
155
+ "151",
156
+ "152",
157
+ "153",
158
+ "154",
159
+ "155",
160
+ "156",
161
+ "157",
162
+ "158",
163
+ "159",
164
+ "160",
165
+ "161",
166
+ "162",
167
+ "163",
168
+ "164",
169
+ "165",
170
+ "166",
171
+ "167",
172
+ "168",
173
+ "169",
174
+ "170",
175
+ "171",
176
+ "172",
177
+ "173",
178
+ "174",
179
+ "175",
180
+ "176",
181
+ "177",
182
+ "178",
183
+ "179",
184
+ "180",
185
+ "181",
186
+ "182",
187
+ "183",
188
+ "184",
189
+ "185",
190
+ "186",
191
+ "187",
192
+ "188",
193
+ "189",
194
+ "190",
195
+ "191",
196
+ "192",
197
+ "193",
198
+ "194",
199
+ "195",
200
+ "196",
201
+ "197",
202
+ "198",
203
+ "199",
204
+ "200",
205
+ "201",
206
+ "202",
207
+ "203",
208
+ "204",
209
+ "205",
210
+ "206",
211
+ "207",
212
+ "208",
213
+ "209",
214
+ "210",
215
+ "211",
216
+ "212",
217
+ "213",
218
+ "214",
219
+ "215",
220
+ "216",
221
+ "217",
222
+ "218",
223
+ "219",
224
+ "220",
225
+ "221",
226
+ "222",
227
+ "223",
228
+ "224",
229
+ "225",
230
+ "226",
231
+ "227",
232
+ "228",
233
+ "229",
234
+ "230",
235
+ "231",
236
+ "232",
237
+ "233",
238
+ "234",
239
+ "235",
240
+ "236",
241
+ "237",
242
+ "238",
243
+ "239",
244
+ "240",
245
+ "241",
246
+ "242",
247
+ "243",
248
+ "244",
249
+ "245",
250
+ "246",
251
+ "247",
252
+ "248",
253
+ "249",
254
+ "250",
255
+ "251",
256
+ "252",
257
+ "253",
258
+ "254",
259
+ "255",
260
+ "256",
261
+ "257",
262
+ "258",
263
+ "259",
264
+ "260",
265
+ "261",
266
+ "262",
267
+ "263",
268
+ "264",
269
+ "265",
270
+ "266",
271
+ "267",
272
+ "268",
273
+ "269",
274
+ "270",
275
+ "271",
276
+ "272",
277
+ "273",
278
+ "274",
279
+ "275",
280
+ "276",
281
+ "277",
282
+ "278",
283
+ "279",
284
+ "280",
285
+ "281",
286
+ "282",
287
+ "283",
288
+ "284",
289
+ "285",
290
+ "286",
291
+ "287",
292
+ "288",
293
+ "289",
294
+ "290",
295
+ "291",
296
+ "292",
297
+ "293",
298
+ "294",
299
+ "295",
300
+ "296",
301
+ "297",
302
+ "298",
303
+ "299",
304
+ "300",
305
+ "301",
306
+ "302",
307
+ "303",
308
+ "304",
309
+ "305",
310
+ "306",
311
+ "307",
312
+ "308",
313
+ "309",
314
+ "310",
315
+ "311",
316
+ "312",
317
+ "313",
318
+ "314",
319
+ "315",
320
+ "316",
321
+ "317",
322
+ "318",
323
+ "319",
324
+ "320",
325
+ "321",
326
+ "322",
327
+ "323",
328
+ "324",
329
+ "325",
330
+ "326",
331
+ "327",
332
+ "328",
333
+ "329",
334
+ "330",
335
+ "331",
336
+ "332",
337
+ "333",
338
+ "334",
339
+ "335",
340
+ "336",
341
+ "337",
342
+ "338",
343
+ "339",
344
+ "340",
345
+ "341",
346
+ "342",
347
+ "343",
348
+ "344",
349
+ "345",
350
+ "346",
351
+ "347",
352
+ "348",
353
+ "349",
354
+ "350",
355
+ "351",
356
+ "352",
357
+ "353",
358
+ "354",
359
+ "355",
360
+ "356",
361
+ "357",
362
+ "358",
363
+ "359",
364
+ "360",
365
+ "361",
366
+ "362",
367
+ "363",
368
+ "364",
369
+ "365"
370
+ ];