@qrvey/utils 1.3.0-0 → 1.3.0-11

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 (274) hide show
  1. package/bitbucket-pipelines.yml +25 -17
  2. package/dist/cjs/column_format/constants/CHART_GROUP.d.ts +4 -0
  3. package/dist/cjs/column_format/constants/CHART_GROUP.js +8 -0
  4. package/dist/cjs/column_format/constants/DATEGROUP_UNSUPPORT_FORMAT.d.ts +2 -0
  5. package/dist/cjs/column_format/constants/DATEGROUP_UNSUPPORT_FORMAT.js +16 -0
  6. package/dist/cjs/column_format/constants/DATEGROUP_WITHOUT_FORMAT.d.ts +12 -0
  7. package/dist/cjs/column_format/constants/DATEGROUP_WITHOUT_FORMAT.js +16 -0
  8. package/dist/cjs/column_format/constants/SHELF_TYPE.d.ts +7 -0
  9. package/dist/cjs/column_format/constants/SHELF_TYPE.js +11 -0
  10. package/dist/cjs/column_format/constants/STRING_FORMAT.d.ts +3 -0
  11. package/dist/cjs/column_format/constants/STRING_FORMAT.js +7 -0
  12. package/dist/cjs/column_format/constants/TABLE_TYPE.d.ts +5 -0
  13. package/dist/cjs/column_format/constants/TABLE_TYPE.js +9 -0
  14. package/dist/cjs/column_format/constants/index.d.ts +6 -0
  15. package/dist/cjs/column_format/constants/index.js +22 -0
  16. package/dist/cjs/column_format/helpers/columnTypeByChart.d.ts +16 -0
  17. package/dist/cjs/column_format/helpers/columnTypeByChart.js +28 -0
  18. package/dist/cjs/column_format/helpers/defineFormatV2.d.ts +11 -0
  19. package/dist/cjs/column_format/helpers/defineFormatV2.js +17 -0
  20. package/dist/cjs/column_format/helpers/defineTableChartFormat.d.ts +9 -0
  21. package/dist/cjs/column_format/helpers/defineTableChartFormat.js +71 -0
  22. package/dist/cjs/column_format/helpers/defineXYChartFormat.d.ts +11 -0
  23. package/dist/cjs/column_format/helpers/defineXYChartFormat.js +77 -0
  24. package/dist/cjs/column_format/helpers/index.d.ts +5 -0
  25. package/dist/cjs/column_format/helpers/index.js +21 -0
  26. package/dist/cjs/column_format/helpers/parseFormulaTypeByCharts.d.ts +7 -0
  27. package/dist/cjs/column_format/helpers/parseFormulaTypeByCharts.js +20 -0
  28. package/dist/cjs/column_format/index.d.ts +3 -0
  29. package/dist/cjs/column_format/index.js +19 -0
  30. package/dist/cjs/column_format/interfaces/IChartColumn.d.ts +23 -0
  31. package/dist/cjs/column_format/interfaces/IChartColumn.js +2 -0
  32. package/dist/cjs/column_format/interfaces/IChartGroupType.d.ts +2 -0
  33. package/dist/cjs/column_format/interfaces/IChartGroupType.js +2 -0
  34. package/dist/cjs/column_format/interfaces/IChartShelfType.d.ts +2 -0
  35. package/dist/cjs/column_format/interfaces/IChartShelfType.js +2 -0
  36. package/dist/cjs/column_format/interfaces/IChartTableType.d.ts +2 -0
  37. package/dist/cjs/column_format/interfaces/IChartTableType.js +2 -0
  38. package/dist/cjs/column_format/interfaces/IColumnFormatReturnType.d.ts +3 -0
  39. package/dist/cjs/column_format/interfaces/IColumnFormatReturnType.js +2 -0
  40. package/dist/cjs/column_format/interfaces/IColumnFormatSettings.d.ts +9 -0
  41. package/dist/cjs/column_format/interfaces/IColumnFormatSettings.js +2 -0
  42. package/dist/cjs/column_format/interfaces/IFormatStringType.d.ts +2 -0
  43. package/dist/cjs/column_format/interfaces/IFormatStringType.js +2 -0
  44. package/dist/cjs/column_format/interfaces/index.d.ts +7 -0
  45. package/dist/cjs/column_format/interfaces/index.js +23 -0
  46. package/dist/cjs/columns/interfaces/IColumnAggregate.d.ts +7 -0
  47. package/dist/cjs/columns/interfaces/IColumnAggregate.js +2 -0
  48. package/dist/cjs/columns/interfaces/IColumnDateGroupSettings.d.ts +7 -0
  49. package/dist/cjs/columns/interfaces/IColumnDateGroupSettings.js +2 -0
  50. package/dist/cjs/columns/interfaces/IColumnScale.d.ts +5 -0
  51. package/dist/cjs/columns/interfaces/IColumnScale.js +2 -0
  52. package/dist/cjs/dates/adapters/dateToHms.d.ts +6 -0
  53. package/dist/cjs/dates/adapters/dateToHms.js +18 -0
  54. package/dist/cjs/dates/adapters/dateToMdyDate.d.ts +6 -0
  55. package/dist/cjs/dates/adapters/dateToMdyDate.js +19 -0
  56. package/dist/cjs/dates/adapters/dateToMonthYear.d.ts +6 -0
  57. package/dist/cjs/dates/adapters/dateToMonthYear.js +18 -0
  58. package/dist/cjs/dates/adapters/dateToQuarterYear.d.ts +6 -0
  59. package/dist/cjs/dates/adapters/dateToQuarterYear.js +19 -0
  60. package/dist/cjs/dates/adapters/dateToWeekYear.d.ts +6 -0
  61. package/dist/cjs/dates/adapters/dateToWeekYear.js +19 -0
  62. package/dist/cjs/dates/adapters/dateToYear.d.ts +6 -0
  63. package/dist/cjs/dates/adapters/dateToYear.js +17 -0
  64. package/dist/cjs/dates/adapters/index.d.ts +11 -0
  65. package/dist/cjs/dates/adapters/index.js +27 -0
  66. package/dist/cjs/dates/adapters/mdyDateToDate.d.ts +1 -1
  67. package/dist/cjs/dates/adapters/monthYearToDate.d.ts +1 -1
  68. package/dist/cjs/dates/adapters/quarterYearToDate.d.ts +1 -1
  69. package/dist/cjs/dates/adapters/weekYearToDate.d.ts +1 -1
  70. package/dist/cjs/dates/adapters/yearToDate.d.ts +1 -1
  71. package/dist/cjs/dates/helpers/getDateByDateFormat.d.ts +1 -1
  72. package/dist/cjs/dates/helpers/getDatePickerPickLevel.d.ts +7 -0
  73. package/dist/cjs/dates/helpers/getDatePickerPickLevel.js +14 -0
  74. package/dist/cjs/dates/helpers/getFormattedDateByFormat.d.ts +8 -0
  75. package/dist/cjs/dates/helpers/getFormattedDateByFormat.js +36 -0
  76. package/dist/cjs/dates/helpers/includeDateTokens.d.ts +9 -0
  77. package/dist/cjs/dates/helpers/includeDateTokens.js +29 -0
  78. package/dist/cjs/dates/helpers/index.d.ts +4 -0
  79. package/dist/cjs/dates/helpers/index.js +4 -0
  80. package/dist/cjs/dates/index.d.ts +1 -0
  81. package/dist/cjs/dates/index.js +1 -0
  82. package/dist/cjs/filters/helpers/common/getFiltersByDatasetsColumns.d.ts +10 -0
  83. package/dist/cjs/filters/helpers/common/getFiltersByDatasetsColumns.js +27 -0
  84. package/dist/cjs/filters/helpers/common/index.d.ts +1 -0
  85. package/dist/cjs/filters/helpers/common/index.js +1 -0
  86. package/dist/cjs/filters/helpers/common/resolveFilterConditions.js +5 -5
  87. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilter.d.ts +1 -1
  88. package/dist/cjs/general/array/addPropertyToArrayOfObjects.d.ts +22 -0
  89. package/dist/cjs/general/array/addPropertyToArrayOfObjects.js +32 -0
  90. package/dist/cjs/general/array/index.d.ts +1 -0
  91. package/dist/cjs/general/array/index.js +1 -0
  92. package/dist/cjs/general/string/index.d.ts +2 -0
  93. package/dist/cjs/general/string/index.js +2 -0
  94. package/dist/cjs/general/string/padLeadingZeros.d.ts +1 -0
  95. package/dist/cjs/general/string/padLeadingZeros.js +12 -0
  96. package/dist/cjs/globalization/interfaces/style_themes/II18nStyleThemesTheme.d.ts +1 -0
  97. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +3 -3
  98. package/dist/cjs/globalization/labels/style_themes/I18N_STYLE_THEMES.js +1 -0
  99. package/dist/cjs/globalization/service/i18nextBuilder.d.ts +9 -0
  100. package/dist/cjs/globalization/service/i18nextBuilder.js +3 -0
  101. package/dist/cjs/index.d.ts +1 -0
  102. package/dist/cjs/index.js +1 -0
  103. package/dist/cjs/interfaces/format/IFormatDefaultFormat.d.ts +5 -0
  104. package/dist/cjs/interfaces/format/IFormatDefaultFormat.js +2 -0
  105. package/dist/cjs/interfaces/format/IFormatOutputFormat.Interface.d.ts +3 -5
  106. package/dist/column_format/constants/CHART_GROUP.d.ts +4 -0
  107. package/dist/column_format/constants/CHART_GROUP.js +5 -0
  108. package/dist/column_format/constants/DATEGROUP_UNSUPPORT_FORMAT.d.ts +2 -0
  109. package/dist/column_format/constants/DATEGROUP_UNSUPPORT_FORMAT.js +13 -0
  110. package/dist/column_format/constants/DATEGROUP_WITHOUT_FORMAT.d.ts +12 -0
  111. package/dist/column_format/constants/DATEGROUP_WITHOUT_FORMAT.js +13 -0
  112. package/dist/column_format/constants/SHELF_TYPE.d.ts +7 -0
  113. package/dist/column_format/constants/SHELF_TYPE.js +8 -0
  114. package/dist/column_format/constants/STRING_FORMAT.d.ts +3 -0
  115. package/dist/column_format/constants/STRING_FORMAT.js +4 -0
  116. package/dist/column_format/constants/TABLE_TYPE.d.ts +5 -0
  117. package/dist/column_format/constants/TABLE_TYPE.js +6 -0
  118. package/dist/column_format/constants/index.d.ts +6 -0
  119. package/dist/column_format/constants/index.js +6 -0
  120. package/dist/column_format/helpers/columnTypeByChart.d.ts +16 -0
  121. package/dist/column_format/helpers/columnTypeByChart.js +24 -0
  122. package/dist/column_format/helpers/defineFormatV2.d.ts +11 -0
  123. package/dist/column_format/helpers/defineFormatV2.js +13 -0
  124. package/dist/column_format/helpers/defineTableChartFormat.d.ts +9 -0
  125. package/dist/column_format/helpers/defineTableChartFormat.js +67 -0
  126. package/dist/column_format/helpers/defineXYChartFormat.d.ts +11 -0
  127. package/dist/column_format/helpers/defineXYChartFormat.js +73 -0
  128. package/dist/column_format/helpers/index.d.ts +5 -0
  129. package/dist/column_format/helpers/index.js +5 -0
  130. package/dist/column_format/helpers/parseFormulaTypeByCharts.d.ts +7 -0
  131. package/dist/column_format/helpers/parseFormulaTypeByCharts.js +16 -0
  132. package/dist/column_format/index.d.ts +3 -0
  133. package/dist/column_format/index.js +3 -0
  134. package/dist/column_format/interfaces/IChartColumn.d.ts +23 -0
  135. package/dist/column_format/interfaces/IChartColumn.js +1 -0
  136. package/dist/column_format/interfaces/IChartGroupType.d.ts +2 -0
  137. package/dist/column_format/interfaces/IChartGroupType.js +1 -0
  138. package/dist/column_format/interfaces/IChartShelfType.d.ts +2 -0
  139. package/dist/column_format/interfaces/IChartShelfType.js +1 -0
  140. package/dist/column_format/interfaces/IChartTableType.d.ts +2 -0
  141. package/dist/column_format/interfaces/IChartTableType.js +1 -0
  142. package/dist/column_format/interfaces/IColumnFormatReturnType.d.ts +3 -0
  143. package/dist/column_format/interfaces/IColumnFormatReturnType.js +1 -0
  144. package/dist/column_format/interfaces/IColumnFormatSettings.d.ts +9 -0
  145. package/dist/column_format/interfaces/IColumnFormatSettings.js +1 -0
  146. package/dist/column_format/interfaces/IFormatStringType.d.ts +2 -0
  147. package/dist/column_format/interfaces/IFormatStringType.js +1 -0
  148. package/dist/column_format/interfaces/index.d.ts +7 -0
  149. package/dist/column_format/interfaces/index.js +7 -0
  150. package/dist/columns/interfaces/IColumnAggregate.d.ts +7 -0
  151. package/dist/columns/interfaces/IColumnAggregate.js +1 -0
  152. package/dist/columns/interfaces/IColumnDateGroupSettings.d.ts +7 -0
  153. package/dist/columns/interfaces/IColumnDateGroupSettings.js +1 -0
  154. package/dist/columns/interfaces/IColumnScale.d.ts +5 -0
  155. package/dist/columns/interfaces/IColumnScale.js +1 -0
  156. package/dist/dates/adapters/dateToHms.d.ts +6 -0
  157. package/dist/dates/adapters/dateToHms.js +14 -0
  158. package/dist/dates/adapters/dateToMdyDate.d.ts +6 -0
  159. package/dist/dates/adapters/dateToMdyDate.js +15 -0
  160. package/dist/dates/adapters/dateToMonthYear.d.ts +6 -0
  161. package/dist/dates/adapters/dateToMonthYear.js +14 -0
  162. package/dist/dates/adapters/dateToQuarterYear.d.ts +6 -0
  163. package/dist/dates/adapters/dateToQuarterYear.js +15 -0
  164. package/dist/dates/adapters/dateToWeekYear.d.ts +6 -0
  165. package/dist/dates/adapters/dateToWeekYear.js +15 -0
  166. package/dist/dates/adapters/dateToYear.d.ts +6 -0
  167. package/dist/dates/adapters/dateToYear.js +13 -0
  168. package/dist/dates/adapters/index.d.ts +11 -0
  169. package/dist/dates/adapters/index.js +11 -0
  170. package/dist/dates/adapters/mdyDateToDate.d.ts +1 -1
  171. package/dist/dates/adapters/monthYearToDate.d.ts +1 -1
  172. package/dist/dates/adapters/quarterYearToDate.d.ts +1 -1
  173. package/dist/dates/adapters/weekYearToDate.d.ts +1 -1
  174. package/dist/dates/adapters/yearToDate.d.ts +1 -1
  175. package/dist/dates/helpers/getDateByDateFormat.d.ts +1 -1
  176. package/dist/dates/helpers/getDatePickerPickLevel.d.ts +7 -0
  177. package/dist/dates/helpers/getDatePickerPickLevel.js +10 -0
  178. package/dist/dates/helpers/getFormattedDateByFormat.d.ts +8 -0
  179. package/dist/dates/helpers/getFormattedDateByFormat.js +32 -0
  180. package/dist/dates/helpers/includeDateTokens.d.ts +9 -0
  181. package/dist/dates/helpers/includeDateTokens.js +25 -0
  182. package/dist/dates/helpers/index.d.ts +4 -0
  183. package/dist/dates/helpers/index.js +4 -0
  184. package/dist/dates/index.d.ts +1 -0
  185. package/dist/dates/index.js +1 -0
  186. package/dist/filters/helpers/common/getFiltersByDatasetsColumns.d.ts +10 -0
  187. package/dist/filters/helpers/common/getFiltersByDatasetsColumns.js +23 -0
  188. package/dist/filters/helpers/common/index.d.ts +1 -0
  189. package/dist/filters/helpers/common/index.js +1 -0
  190. package/dist/filters/helpers/common/resolveFilterConditions.js +5 -5
  191. package/dist/filters/interfaces/common/IFSParamsToGetFilter.d.ts +1 -1
  192. package/dist/general/array/addPropertyToArrayOfObjects.d.ts +22 -0
  193. package/dist/general/array/addPropertyToArrayOfObjects.js +28 -0
  194. package/dist/general/array/index.d.ts +1 -0
  195. package/dist/general/array/index.js +1 -0
  196. package/dist/general/string/index.d.ts +2 -0
  197. package/dist/general/string/index.js +2 -0
  198. package/dist/general/string/padLeadingZeros.d.ts +1 -0
  199. package/dist/general/string/padLeadingZeros.js +8 -0
  200. package/dist/globalization/interfaces/style_themes/II18nStyleThemesTheme.d.ts +1 -0
  201. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +3 -3
  202. package/dist/globalization/labels/style_themes/I18N_STYLE_THEMES.js +1 -0
  203. package/dist/globalization/service/i18nextBuilder.d.ts +9 -0
  204. package/dist/globalization/service/i18nextBuilder.js +3 -0
  205. package/dist/index.d.ts +1 -0
  206. package/dist/index.js +1 -0
  207. package/dist/interfaces/format/IFormatDefaultFormat.d.ts +5 -0
  208. package/dist/interfaces/format/IFormatDefaultFormat.js +1 -0
  209. package/dist/interfaces/format/IFormatOutputFormat.Interface.d.ts +3 -5
  210. package/jest.config.js +1 -0
  211. package/package.json +10 -11
  212. package/scripts/generating-docs/index.js +2 -2
  213. package/src/column_format/constants/CHART_GROUP.ts +4 -0
  214. package/src/column_format/constants/DATEGROUP_UNSUPPORT_FORMAT.ts +14 -0
  215. package/src/column_format/constants/DATEGROUP_WITHOUT_FORMAT.ts +12 -0
  216. package/src/column_format/constants/SHELF_TYPE.ts +7 -0
  217. package/src/column_format/constants/STRING_FORMAT.ts +3 -0
  218. package/src/column_format/constants/TABLE_TYPE.ts +5 -0
  219. package/src/column_format/constants/index.ts +6 -0
  220. package/src/column_format/helpers/columnTypeByChart.ts +27 -0
  221. package/src/column_format/helpers/defineFormatV2.ts +17 -0
  222. package/src/column_format/helpers/defineTableChartFormat.ts +70 -0
  223. package/src/column_format/helpers/defineXYChartFormat.ts +80 -0
  224. package/src/column_format/helpers/index.ts +5 -0
  225. package/src/column_format/helpers/parseFormulaTypeByCharts.ts +17 -0
  226. package/src/column_format/index.ts +3 -0
  227. package/src/column_format/interfaces/IChartColumn.ts +24 -0
  228. package/src/column_format/interfaces/IChartGroupType.ts +3 -0
  229. package/src/column_format/interfaces/IChartShelfType.ts +3 -0
  230. package/src/column_format/interfaces/IChartTableType.ts +3 -0
  231. package/src/column_format/interfaces/IColumnFormatReturnType.ts +4 -0
  232. package/src/column_format/interfaces/IColumnFormatSettings.ts +11 -0
  233. package/src/column_format/interfaces/IFormatStringType.ts +3 -0
  234. package/src/column_format/interfaces/index.ts +7 -0
  235. package/src/columns/interfaces/IColumnAggregate.ts +7 -0
  236. package/src/columns/interfaces/IColumnDateGroupSettings.ts +7 -0
  237. package/src/columns/interfaces/IColumnScale.ts +5 -0
  238. package/src/dates/adapters/dateToHms.ts +15 -0
  239. package/src/dates/adapters/dateToMdyDate.ts +16 -0
  240. package/src/dates/adapters/dateToMonthYear.ts +15 -0
  241. package/src/dates/adapters/dateToQuarterYear.ts +16 -0
  242. package/src/dates/adapters/dateToWeekYear.ts +16 -0
  243. package/src/dates/adapters/dateToYear.ts +14 -0
  244. package/src/dates/adapters/index.ts +11 -0
  245. package/src/dates/adapters/mdyDateToDate.ts +1 -1
  246. package/src/dates/adapters/monthYearToDate.ts +1 -1
  247. package/src/dates/adapters/quarterYearToDate.ts +1 -1
  248. package/src/dates/adapters/weekYearToDate.ts +1 -1
  249. package/src/dates/adapters/yearToDate.ts +1 -1
  250. package/src/dates/helpers/getDateByDateFormat.ts +1 -1
  251. package/src/dates/helpers/getDatePickerPickLevel.ts +12 -0
  252. package/src/dates/helpers/getFormattedDateByFormat.ts +29 -0
  253. package/src/dates/helpers/includeDateTokens.ts +26 -0
  254. package/src/dates/helpers/index.ts +4 -0
  255. package/src/dates/index.ts +1 -0
  256. package/src/filters/helpers/common/getFiltersByDatasetsColumns.ts +35 -0
  257. package/src/filters/helpers/common/index.ts +1 -0
  258. package/src/filters/helpers/common/resolveFilterConditions.ts +4 -4
  259. package/src/filters/interfaces/common/IFSParamsToGetFilter.ts +2 -2
  260. package/src/general/array/addPropertyToArrayOfObjects.ts +32 -0
  261. package/src/general/array/index.ts +1 -0
  262. package/src/general/string/index.ts +3 -1
  263. package/src/general/string/padLeadingZeros.ts +7 -0
  264. package/src/globalization/interfaces/style_themes/II18nStyleThemesTheme.ts +1 -0
  265. package/src/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.ts +3 -3
  266. package/src/globalization/labels/style_themes/I18N_STYLE_THEMES.ts +1 -0
  267. package/src/globalization/service/i18nextBuilder.ts +10 -0
  268. package/src/index.ts +1 -0
  269. package/src/interfaces/format/IFormatDefaultFormat.ts +5 -0
  270. package/src/interfaces/format/IFormatOutputFormat.Interface.ts +3 -5
  271. package/test/general/array/addPropertyToArrayOfObjects.test.js +96 -0
  272. package/test/tokens/isTokenLabel.test.js +130 -0
  273. package/tsconfig.doc.json +4 -0
  274. package/tsconfig.json +1 -1
@@ -5,6 +5,15 @@ export declare class I18nServiceBuilder {
5
5
  private static _initI18n;
6
6
  static setTranslations(i18nDefault: any, i18nResource: II18nResource): II18nResource;
7
7
  }
8
+ /**
9
+ * This class allows to use the translation service of the i18next library
10
+ */
8
11
  export declare abstract class I18nService {
12
+ /**
13
+ * This method by means of the key searches in the configuration object, replaces the values received by means of the options parameter and returns the translated text. Ex: <b>translate('the_value_is {{number}}',{number: 1});</b>
14
+ * @param key String used as key
15
+ * @param options Object of type II18nServiceTranslateOption that contains the dynamic parameters to replace
16
+ * @returns The translated text Ex: <b>The value is: 1</b>
17
+ */
9
18
  abstract translate(key: string, options?: II18nServiceTranslateOption): string;
10
19
  }
@@ -40,6 +40,9 @@ export class I18nServiceBuilder {
40
40
  return mergeDeep(i18nResource, i18nDefault, { mergeExistingValues: false });
41
41
  }
42
42
  }
43
+ /**
44
+ * This class allows to use the translation service of the i18next library
45
+ */
43
46
  export class I18nService {
44
47
  }
45
48
  class I18nServiceConcrete extends I18nService {
package/dist/index.d.ts CHANGED
@@ -13,3 +13,4 @@ export * from './stencil/index';
13
13
  export * from './services/index';
14
14
  export * from './typescript/index';
15
15
  export * from './tokens/index';
16
+ export * from './column_format/index';
package/dist/index.js CHANGED
@@ -13,3 +13,4 @@ export * from './stencil/index';
13
13
  export * from './services/index';
14
14
  export * from './typescript/index';
15
15
  export * from './tokens/index';
16
+ export * from './column_format/index';
@@ -0,0 +1,5 @@
1
+ export interface IFormatDefaultFormat {
2
+ format: string;
3
+ type: string;
4
+ decimals?: number;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,9 +1,7 @@
1
1
  import { IFormatCurrency } from "./IFormatCurrency.Interface";
2
- export interface IFormatOutputFormat {
3
- format: string;
4
- type: string;
5
- decimals?: number;
2
+ import { IFormatDefaultFormat } from "./IFormatDefaultFormat";
3
+ export interface IFormatOutputFormat extends IFormatDefaultFormat {
6
4
  currency?: IFormatCurrency;
7
5
  backup_currency?: IFormatCurrency;
8
- originalFormat?: any;
6
+ originalFormat?: IFormatOutputFormat;
9
7
  }
package/jest.config.js CHANGED
@@ -1,4 +1,5 @@
1
1
  module.exports = {
2
+ // preset: 'ts-jest',
2
3
  testEnvironment: 'node',
3
4
  verbose: true,
4
5
  };
package/package.json CHANGED
@@ -1,42 +1,41 @@
1
1
  {
2
2
  "name": "@qrvey/utils",
3
- "version": "1.3.0-0",
3
+ "version": "1.3.0-11",
4
4
  "description": "Helper, Utils for all Qrvey Projects",
5
5
  "homepage": "https://bitbucket.org/qrvey/qrvey_utils/wiki/Home",
6
6
  "main": "dist/index.js",
7
7
  "scripts": {
8
8
  "build": "tsc && tsc -m commonjs --outDir dist/cjs",
9
9
  "build-clean": "node ./scripts/clean-build",
10
- "docs": "./node_modules/.bin/jsdoc -c ./jsdoc.config.json",
11
- "doxs": "doxdox './dist/**/*.js' --ignore './dist/cjs/**/*.js' --output README.md --layout markdown --package ./package.json",
10
+ "compodoc": "npx compodoc -p tsconfig.doc.json",
11
+ "compodoc:server": "./node_modules/.bin/compodoc -p ./tsconfig.doc.json -s --port=4400",
12
12
  "lint": "eslint src --quiet --exit-on-fatal-error --ext .ts,.js",
13
13
  "lint-dev": "eslint src --debug --ext .ts,.tsx",
14
+ "pipeline": "npm run build-clean && npm run lint && npm run test",
14
15
  "publishing-old": "node ./scripts/prepare-publish && np",
15
16
  "publishing-prerelease-old": "node ./scripts/prepare-publish && np --any-branch --tag=$npm_config_tag",
16
17
  "publishing-beta-1": "node ./scripts/publishing --np-new-version=$npm_config_np_new_version --np-any-branch=$npm_config_np_any_branch --np-tag=$npm_config_np_tag",
17
- "publishing-beta-2": "node ./scripts/clean-build && node ./scripts/generating-docs && np --any-branch --np-tag=$npm_config_np_tag",
18
+ "publishing-beta-2": "node ./scripts/clean-build && node ./scripts/generating-docs --np-new-version=$npm_config_np_new_version && np $npm_config_np_new_version --any-branch --tag=$npm_config_np_tag",
18
19
  "test": "jest test",
19
20
  "test:watch": "jest --watch test"
20
21
  },
21
22
  "author": "Qrvey Inc",
22
23
  "license": "MIT",
23
24
  "devDependencies": {
24
- "@types/jest": "27.4.1",
25
+ "@compodoc/compodoc": "1.1.19",
26
+ "@types/jest": "27.5.1",
25
27
  "@typescript-eslint/eslint-plugin": "5.22.0",
26
28
  "@typescript-eslint/parser": "5.22.0",
27
- "doxdox": "3.0.0",
28
29
  "eslint": "8.14.0",
29
- "jest": "27.5.1",
30
- "jsdoc": "3.6.10",
30
+ "jest": "28.1.0",
31
31
  "np": "7.6.1",
32
+ "ts-jest": "28.0.2",
32
33
  "typedoc": "0.22.15",
33
34
  "typescript": "4.6.4"
34
35
  },
35
36
  "dependencies": {
36
37
  "d3": "6.3.1",
38
+ "dayjs": "1.11.1",
37
39
  "i18next": "21.6.16"
38
- },
39
- "peerDependencies": {
40
- "dayjs": ">=1.11.1 <1.12.0"
41
40
  }
42
41
  }
@@ -67,9 +67,9 @@ async function startGeneratingDocs(settings) {
67
67
  await pushingChanges(settings);
68
68
  }
69
69
 
70
- async function generatingDocument(settings) {
70
+ async function generatingDocument(_settings) {
71
71
  console.log('==>>> Generating Document...');
72
- await execute(`doxdox './dist/**/*.js' --output ${settings.docsFileName} --ignore './dist/cjs/**/*.js' --package ${settings.packagePath} --layout markdown`);
72
+ await execute('npm run compodoc');
73
73
  }
74
74
 
75
75
  async function changingVersion(settings) {
@@ -0,0 +1,4 @@
1
+ export enum CHART_GROUPS {
2
+ TABLES = 'tables',
3
+ XY = 'xy'
4
+ }
@@ -0,0 +1,14 @@
1
+ import { DATEGROUP_WITHOUT_FORMAT } from "./DATEGROUP_WITHOUT_FORMAT";
2
+
3
+ export const DATEGROUP_UNSUPPORT_FORMAT = [
4
+ DATEGROUP_WITHOUT_FORMAT.YEAR,
5
+ DATEGROUP_WITHOUT_FORMAT.QUARTER,
6
+ DATEGROUP_WITHOUT_FORMAT.MONTH,
7
+ DATEGROUP_WITHOUT_FORMAT.WEEK,
8
+ DATEGROUP_WITHOUT_FORMAT.QUARTER_ONLY,
9
+ DATEGROUP_WITHOUT_FORMAT.MONTH_ONLY,
10
+ DATEGROUP_WITHOUT_FORMAT.DAY_ONLY,
11
+ DATEGROUP_WITHOUT_FORMAT.HOUR_ONLY,
12
+ DATEGROUP_WITHOUT_FORMAT.MINUTE_ONLY,
13
+ DATEGROUP_WITHOUT_FORMAT.SECOND_ONLY
14
+ ];
@@ -0,0 +1,12 @@
1
+ export enum DATEGROUP_WITHOUT_FORMAT {
2
+ YEAR = 'YEAR',
3
+ QUARTER = 'QUARTER',
4
+ MONTH = 'MONTH',
5
+ WEEK = 'WEEK',
6
+ QUARTER_ONLY = 'QUARTER_ONLY',
7
+ MONTH_ONLY = 'MONTH_ONLY',
8
+ DAY_ONLY = 'DAY_ONLY',
9
+ HOUR_ONLY = 'HOUR_ONLY',
10
+ MINUTE_ONLY = 'MINUTE_ONLY',
11
+ SECOND_ONLY = 'SECOND_ONLY'
12
+ }
@@ -0,0 +1,7 @@
1
+ export enum SHELF_TYPE {
2
+ CATEGORY = 'category',
3
+ VALUE = 'value',
4
+ GROUPS = 'groups',
5
+ COLUMNS = 'columns',
6
+ SERIES = 'series'
7
+ }
@@ -0,0 +1,3 @@
1
+ export enum STRING_FORMAT {
2
+ NONE = 'none'
3
+ }
@@ -0,0 +1,5 @@
1
+ export enum TABLE_TYPE {
2
+ SIMPLE = 'simple',
3
+ GROUPED = 'grouped',
4
+ EXPANDABLE = 'expandable'
5
+ }
@@ -0,0 +1,6 @@
1
+ export * from './CHART_GROUP';
2
+ export * from './DATEGROUP_UNSUPPORT_FORMAT';
3
+ export * from './DATEGROUP_WITHOUT_FORMAT';
4
+ export * from './SHELF_TYPE';
5
+ export * from './STRING_FORMAT';
6
+ export * from './TABLE_TYPE';
@@ -0,0 +1,27 @@
1
+ import { NUMERICAL_COLUMN, NUMERICAL_COLUMNS } from "../..";
2
+ import { COLUMN } from "../../columns";
3
+ import { CHART_GROUPS } from "../constants/CHART_GROUP";
4
+ import { SHELF_TYPE } from "../constants/SHELF_TYPE";
5
+ import { IChartColumn } from "../interfaces/IChartColumn";
6
+ import { IChartGroupType } from "../interfaces/IChartGroupType";
7
+ import { IChartShelfType } from "../interfaces/IChartShelfType";
8
+ import { parseFormulaTypeByCharts } from "./parseFormulaTypeByCharts";
9
+
10
+ /**
11
+ * It returns the column type for a given column, shelf type, chart group, and whether the table is
12
+ * grouped or not
13
+ * @param {IChartColumn} column - IChartColumn
14
+ * @param {IChartShelfType} shelfType - IChartShelfType
15
+ * @param {IChartGroupType} chartGroup - IChartGroupType
16
+ * @param {boolean} [isGroupedTable] - boolean - this is a boolean that is true if the table is
17
+ * grouped.
18
+ * @returns The column type of the column.
19
+ */
20
+ export const columnTypeByChart = (column: IChartColumn, shelfType: IChartShelfType, chartGroup: IChartGroupType, isGroupedTable?: boolean) => {
21
+ if (!column) return;
22
+ const currentType = column.type === COLUMN.FORMULA ? parseFormulaTypeByCharts(column.formulaType) : column.type;
23
+ const isNumericalColumn = NUMERICAL_COLUMNS.some(colType => colType === currentType)
24
+ || ((chartGroup === CHART_GROUPS.TABLES) && (isGroupedTable === true) && (shelfType === SHELF_TYPE.COLUMNS))
25
+ || ((chartGroup === CHART_GROUPS.XY) && (shelfType === SHELF_TYPE.VALUE || shelfType === SHELF_TYPE.SERIES));
26
+ return isNumericalColumn === true ? NUMERICAL_COLUMN.NUMERIC : currentType;
27
+ };
@@ -0,0 +1,17 @@
1
+ import { IChartColumn } from "../interfaces/IChartColumn";
2
+ import { IColumnFormatReturnType } from "../interfaces/IColumnFormatReturnType";
3
+ import { IColumnFormatSettings } from "../interfaces/IColumnFormatSettings";
4
+ import { defineTableChartFormat } from "./defineTableChartFormat";
5
+ import { defineXYChartFormat } from "./defineXYChartFormat";
6
+
7
+ /**
8
+ * > If the chart is a table chart, then define the format for a table chart, otherwise define the
9
+ * format for an XY chart
10
+ * @param {IChartColumn} column - IChartColumn - this is the column object that is passed to the chart.
11
+ * @param {IColumnFormatSettings} settings - IColumnFormatSettings
12
+ * @returns IColumnFormatReturnType
13
+ */
14
+ export const defineFormatV2 = (column: IChartColumn, settings: IColumnFormatSettings) : IColumnFormatReturnType => {
15
+ const { isTableChart, isXYChart } = settings;
16
+ return isTableChart && !isXYChart ? defineTableChartFormat(column, settings) : defineXYChartFormat(column, settings);
17
+ };
@@ -0,0 +1,70 @@
1
+ import { AGGREGATE, COLUMN, isEmpty } from "../..";
2
+ import { CHART_GROUPS } from "../constants/CHART_GROUP";
3
+ import { DATEGROUP_UNSUPPORT_FORMAT } from "../constants/DATEGROUP_UNSUPPORT_FORMAT";
4
+ import { STRING_FORMAT } from "../constants/STRING_FORMAT";
5
+ import { TABLE_TYPE } from "../constants/TABLE_TYPE";
6
+ import { IChartColumn } from "../interfaces/IChartColumn";
7
+ import { IColumnFormatReturnType } from "../interfaces/IColumnFormatReturnType";
8
+ import { IColumnFormatSettings } from "../interfaces/IColumnFormatSettings";
9
+ import { columnTypeByChart } from "./columnTypeByChart";
10
+
11
+ /**
12
+ * It returns the format of a column based on the column type, the chart type, and the chart settings
13
+ * @param {IChartColumn} column - IChartColumn
14
+ * @param {IColumnFormatSettings} settings - IColumnFormatSettings
15
+ */
16
+ export const defineTableChartFormat = (column: IChartColumn, settings: IColumnFormatSettings) : IColumnFormatReturnType => {
17
+ const { aggregate, type, defaultFormat, outputFormat, selectedFormat, dateGroup } = column;
18
+ const { tableType, shelfType } = settings;
19
+ //Defaults
20
+ const defaultText = 'Default';
21
+ const defaultNumeric = { type: 'NUMERIC', format: 'Numeric' };
22
+ const defaultAbb = { type: 'NUMERIC', format: 'Abbreviated' };
23
+
24
+ const isGroupedTable = tableType === TABLE_TYPE.GROUPED;
25
+ const columnType = columnTypeByChart(column, shelfType, CHART_GROUPS.TABLES, isGroupedTable);
26
+
27
+ const noFormatSupported = DATEGROUP_UNSUPPORT_FORMAT.some(gp => gp === dateGroup?.label);
28
+ const hasDefaultFormat = isEmpty(selectedFormat) && outputFormat?.format === defaultText;
29
+ const isUsedAsNumericColumn = type !== columnType;
30
+
31
+
32
+ switch(columnType) {
33
+ case COLUMN.YES_NO:
34
+ case COLUMN.PHONE:
35
+ case COLUMN.SINGLE_CHOICE:
36
+ case COLUMN.LONGTEXT:
37
+ case COLUMN.DROPDOWN:
38
+ case COLUMN.EXPRESSION:
39
+ case COLUMN.NAME:
40
+ case COLUMN.EMAIL_FORM:
41
+ case COLUMN.IMAGE:
42
+ case COLUMN.TEXT_LABEL:
43
+ return STRING_FORMAT.NONE;
44
+ case COLUMN.DATE: {
45
+ if(noFormatSupported) {
46
+ return STRING_FORMAT.NONE;
47
+ }
48
+ else if(hasDefaultFormat) {
49
+ return { ...defaultFormat, format: defaultText, originalFormat: { ...column.outputFormat } };
50
+ }
51
+ else {
52
+ return selectedFormat;
53
+ }
54
+ }
55
+ case COLUMN.NUMERIC:
56
+ case COLUMN.RATING:
57
+ case COLUMN.SLIDEBAR: {
58
+ if(isUsedAsNumericColumn) {
59
+ if(aggregate?.label === AGGREGATE.COUNT && hasDefaultFormat) return defaultNumeric;
60
+ else if(hasDefaultFormat) return defaultAbb;
61
+ else return outputFormat;
62
+ } else {
63
+ if(hasDefaultFormat) {
64
+ return { ...defaultFormat, format: defaultText, originalFormat: { ...column.outputFormat } };
65
+ }
66
+ else return selectedFormat;
67
+ }
68
+ }
69
+ }
70
+ };
@@ -0,0 +1,80 @@
1
+ import { AGGREGATE, COLUMN, isEmpty } from "../..";
2
+ import { CHART_GROUPS } from "../constants/CHART_GROUP";
3
+ import { DATEGROUP_UNSUPPORT_FORMAT } from "../constants/DATEGROUP_UNSUPPORT_FORMAT";
4
+ import { STRING_FORMAT } from "../constants/STRING_FORMAT";
5
+ import { IChartColumn } from "../interfaces/IChartColumn";
6
+ import { IColumnFormatReturnType } from "../interfaces/IColumnFormatReturnType";
7
+ import { IColumnFormatSettings } from "../interfaces/IColumnFormatSettings";
8
+ import { columnTypeByChart } from "./columnTypeByChart";
9
+
10
+ /**
11
+ * > It returns the format of a column based on the column's type, the chart's type, and the column's
12
+ * aggregate
13
+ * > Also, if the settings contains the prop withoutFormat as true, returns the default format
14
+ * @param {IChartColumn} column - IChartColumn
15
+ * @param {IColumnFormatSettings} settings - IColumnFormatSettings
16
+ */
17
+ export const defineXYChartFormat = (column: IChartColumn, settings: IColumnFormatSettings) : IColumnFormatReturnType => {
18
+ const { aggregate, type, defaultFormat, outputFormat, selectedFormat, dateGroup } = column;
19
+ const { shelfType, withoutFormat } = settings;
20
+ const columnDefaultFormat = defaultFormat || outputFormat;
21
+
22
+ //Defaults
23
+ const defaultText = 'Default';
24
+ //const defaultNumeric = { type: 'NUMERIC', format: 'Numeric' };
25
+ const defaultAbb = { type: 'NUMERIC', format: 'Abbreviated' };
26
+
27
+ const columnType = columnTypeByChart(column, shelfType, CHART_GROUPS.XY);
28
+
29
+ const noFormatSupported = DATEGROUP_UNSUPPORT_FORMAT.some(gp => gp === dateGroup?.label);
30
+ const isUsedAsNumericColumn = type !== columnType;
31
+ const hasDefaultFormat = isEmpty(selectedFormat) || (outputFormat?.format === defaultText) || (selectedFormat?.format === defaultText);
32
+
33
+
34
+ switch(columnType) {
35
+ case COLUMN.YES_NO:
36
+ case COLUMN.PHONE:
37
+ case COLUMN.SINGLE_CHOICE:
38
+ case COLUMN.LONGTEXT:
39
+ case COLUMN.DROPDOWN:
40
+ case COLUMN.EXPRESSION:
41
+ case COLUMN.NAME:
42
+ case COLUMN.EMAIL_FORM:
43
+ case COLUMN.IMAGE:
44
+ case COLUMN.TEXT_LABEL:
45
+ return STRING_FORMAT.NONE;
46
+ case COLUMN.DATE: {
47
+ if(noFormatSupported) {
48
+ return STRING_FORMAT.NONE;
49
+ }
50
+ else if(hasDefaultFormat) {
51
+ return { ...columnDefaultFormat, format: defaultText, originalFormat: { ...outputFormat } };
52
+ }
53
+ else {
54
+ return selectedFormat;
55
+ }
56
+ }
57
+ case COLUMN.NUMERIC:
58
+ case COLUMN.RATING:
59
+ case COLUMN.SLIDEBAR: {
60
+ if(isUsedAsNumericColumn) {
61
+ if(
62
+ (aggregate?.label === AGGREGATE.COUNT && hasDefaultFormat)
63
+ ||
64
+ (isUsedAsNumericColumn && outputFormat?.type !== COLUMN.NUMERIC)
65
+ ||
66
+ withoutFormat
67
+ ) return defaultAbb;
68
+ else return outputFormat;
69
+ } else {
70
+ if(withoutFormat === true) {
71
+ return columnDefaultFormat;
72
+ }
73
+ else if(hasDefaultFormat) {
74
+ return { ...outputFormat };
75
+ }
76
+ else return selectedFormat;
77
+ }
78
+ }
79
+ }
80
+ };
@@ -0,0 +1,5 @@
1
+ export * from './columnTypeByChart';
2
+ export * from './defineFormatV2';
3
+ export * from './defineTableChartFormat';
4
+ export * from './defineXYChartFormat';
5
+ export * from './parseFormulaTypeByCharts';
@@ -0,0 +1,17 @@
1
+ import { FORMULA, IFormulaType } from "../..";
2
+
3
+ /**
4
+ * It takes a string and returns a string
5
+ * @param {IFormulaType} type - IFormulaType - this is the type of the formula.
6
+ * @returns The type of the formula.
7
+ */
8
+ export const parseFormulaTypeByCharts = (type: IFormulaType) => {
9
+ switch (type) {
10
+ case FORMULA.NUMBER:
11
+ return 'NUMERIC';
12
+ case FORMULA.DATE:
13
+ return 'DATE';
14
+ default:
15
+ return 'TEXT_LABEL';
16
+ }
17
+ };
@@ -0,0 +1,3 @@
1
+ export * from './constants/index';
2
+ export * from './helpers/index';
3
+ export * from './interfaces/index';
@@ -0,0 +1,24 @@
1
+ import { IColumnSortingSettings, IColumnType, IFormatOutputFormat, IFormulaType } from "../..";
2
+ import { IColumnAggregate } from "../../columns/interfaces/IColumnAggregate";
3
+ import { IColumnDateGroupSettings } from "../../columns/interfaces/IColumnDateGroupSettings";
4
+ import { IColumnScale } from "../../columns/interfaces/IColumnScale";
5
+ import { IFormatDefaultFormat } from "../../interfaces/format/IFormatDefaultFormat";
6
+
7
+ export interface IChartColumn {
8
+ aggregate: IColumnAggregate;
9
+ colIndex: number;
10
+ dateGroup?: IColumnDateGroupSettings;
11
+ defaultFormat: IFormatDefaultFormat;
12
+ format?: string;
13
+ formulaType?: IFormulaType;
14
+ groupAgg: string;
15
+ id: string;
16
+ isGroup: string;
17
+ outputFormat: IFormatOutputFormat;
18
+ property: string;
19
+ scaleType?: IColumnScale;
20
+ selectedFormat?: IFormatDefaultFormat;
21
+ sorting?: IColumnSortingSettings;
22
+ text: string;
23
+ type: IColumnType;
24
+ }
@@ -0,0 +1,3 @@
1
+ import { CHART_GROUPS } from "../constants/CHART_GROUP";
2
+
3
+ export type IChartGroupType = CHART_GROUPS;
@@ -0,0 +1,3 @@
1
+ import { SHELF_TYPE } from "../constants/SHELF_TYPE";
2
+
3
+ export type IChartShelfType = SHELF_TYPE;
@@ -0,0 +1,3 @@
1
+ import { TABLE_TYPE } from "../constants/TABLE_TYPE";
2
+
3
+ export type IChartTableType = TABLE_TYPE;
@@ -0,0 +1,4 @@
1
+ import { IFormatOutputFormat } from "../..";
2
+ import { IFormatStringType } from "./IFormatStringType";
3
+
4
+ export type IColumnFormatReturnType = IFormatStringType | IFormatOutputFormat;
@@ -0,0 +1,11 @@
1
+ import { IChartShelfType } from "./IChartShelfType";
2
+ import { IChartTableType } from "./IChartTableType";
3
+
4
+ /* Defining an interface for the column format settings. */
5
+ export interface IColumnFormatSettings {
6
+ tableType?: IChartTableType;
7
+ isTableChart?: boolean;
8
+ isXYChart?: boolean;
9
+ shelfType: IChartShelfType;
10
+ withoutFormat: boolean;
11
+ }
@@ -0,0 +1,3 @@
1
+ import { STRING_FORMAT } from "../constants/STRING_FORMAT";
2
+
3
+ export type IFormatStringType = STRING_FORMAT;
@@ -0,0 +1,7 @@
1
+ export * from './IChartColumn';
2
+ export * from './IChartGroupType';
3
+ export * from './IChartShelfType';
4
+ export * from './IChartTableType';
5
+ export * from './IColumnFormatReturnType';
6
+ export * from './IColumnFormatSettings';
7
+ export * from './IFormatStringType';
@@ -0,0 +1,7 @@
1
+ export interface IColumnAggregate {
2
+ abbreviation: string;
3
+ id: string;
4
+ key: string;
5
+ label: string;
6
+ text: string;
7
+ }
@@ -0,0 +1,7 @@
1
+ export interface IColumnDateGroupSettings {
2
+ default: boolean;
3
+ format: string;
4
+ label: string;
5
+ secondatyText: string;
6
+ text: string;
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface IColumnScale {
2
+ key: string;
3
+ text: string;
4
+ value: string;
5
+ }
@@ -0,0 +1,15 @@
1
+ import { isEmpty } from "../../general/mix/isEmpty";
2
+ import { padLeadingZeros } from "../../general/string/padLeadingZeros";
3
+ import { isTokenLabel } from "../../tokens/isTokenLabel";
4
+
5
+ /**
6
+ * * Transform a Date to [HH:mm:ss] date format.
7
+ * @param date String, object or millisencond number of the date
8
+ * @returns string of [HH:mm:ss] date format
9
+ */
10
+ export function dateToHms(date: string | Date | number) {
11
+ if (isEmpty(date) || isTokenLabel(date as any)) return date as any;
12
+
13
+ const dt = new Date(date.valueOf());
14
+ return padLeadingZeros(dt.getHours(), 2).slice(-2) + ':' + padLeadingZeros(dt.getMinutes(), 2).slice(-2) + ':' + padLeadingZeros(dt.getSeconds(), 2).slice(-2);
15
+ }
@@ -0,0 +1,16 @@
1
+ import { isEmpty } from "../../general/mix/isEmpty";
2
+ import { padLeadingZeros } from "../../general/string/padLeadingZeros";
3
+ import { isTokenLabel } from "../../tokens/isTokenLabel";
4
+ import { dateToHms } from "./dateToHms";
5
+
6
+ /**
7
+ * Transform a Date to [mm/dd/yyyy] date format.
8
+ * @param date String, object or millisencond number of the date
9
+ * @returns string of [mm/dd/yyyy] date format
10
+ */
11
+ export function dateToMdyDate(date: string | Date | number, includeTime?: boolean): string{
12
+ if (isEmpty(date) || isTokenLabel(date as any)) return date as any;
13
+
14
+ const dt = new Date(date.valueOf());
15
+ return padLeadingZeros(dt.getMonth() + 1, 2).slice(-2) + '/' + padLeadingZeros(dt.getDate(), 2).slice(-2) + '/' + padLeadingZeros(dt.getFullYear(), 4) + (includeTime ? ' ' + dateToHms(date) : '');
16
+ }
@@ -0,0 +1,15 @@
1
+ import { isEmpty } from "../../general/mix/isEmpty";
2
+ import { isTokenLabel } from "../../tokens/isTokenLabel";
3
+ import { DATE_YEAR_MONTHS } from "../constants/DATE_YEAR_MONTHS";
4
+
5
+ /**
6
+ * Transform a Date to [Month Year] date format.
7
+ * @param date String, object or millisencond number of the date
8
+ * @returns string of [Month Year] date format
9
+ */
10
+ export function dateToMonthYear(date: string | Date | number): string {
11
+ if (isEmpty(date) || isTokenLabel(date as any)) return date as any;
12
+
13
+ const dt = new Date(date.valueOf());
14
+ return DATE_YEAR_MONTHS[dt.getMonth()] + ' ' + dt.getFullYear();
15
+ }
@@ -0,0 +1,16 @@
1
+ import { isEmpty } from "../../general/mix/isEmpty";
2
+ import { isTokenLabel } from "../../tokens/isTokenLabel";
3
+ import { DATE_YEAR_QUARTERS } from "../constants/DATE_YEAR_QUARTERS";
4
+
5
+ /**
6
+ * Transform a Date to [Quarter Year] date format.
7
+ * @param date String, object or millisencond number of the date
8
+ * @returns string of [Quarter Year] date format
9
+ */
10
+ export function dateToQuarterYear(date: string | Date | number): string {
11
+ if (isEmpty(date) || isTokenLabel(date as any)) return date as any;
12
+
13
+ const dt = new Date(date.valueOf());
14
+ const quarter = Math.ceil((dt.getMonth() + 1) / 3);
15
+ return DATE_YEAR_QUARTERS[quarter - 1] + ' ' + dt.getFullYear();
16
+ }
@@ -0,0 +1,16 @@
1
+ import { isEmpty } from "../../general/mix/isEmpty";
2
+ import { isTokenLabel } from "../../tokens/isTokenLabel";
3
+ import { getWeek } from "../helpers/getWeek";
4
+
5
+ /**
6
+ * Transform a Date to [W# Year] date format.
7
+ * @param date String, object or millisencond number of the date
8
+ * @returns string of [W# Year] date format
9
+ */
10
+ export function dateToWeekYear(date: string | Date | number): string {
11
+ if (isEmpty(date) || isTokenLabel(date as any)) return date as any;
12
+
13
+ const dt = new Date(date.valueOf());
14
+ const weekObj = getWeek(dt);
15
+ return `W${weekObj.week} ${weekObj.year}`;
16
+ }
@@ -0,0 +1,14 @@
1
+ import { isEmpty } from "../../general/mix/isEmpty";
2
+ import { isTokenLabel } from "../../tokens/isTokenLabel";
3
+
4
+ /**
5
+ * Transform a Date to [Year] date format.
6
+ * @param date String, object or millisencond number of the date
7
+ * @returns string of [Year] date format
8
+ */
9
+ export function dateToYear(date: string | Date | number): string {
10
+ if (isEmpty(date) || isTokenLabel(date as any)) return date as any;
11
+
12
+ const dt = new Date(date.valueOf());
13
+ return String(dt.getFullYear());
14
+ }