aloha-vue 2.74.0 → 2.75.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 (166) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +22 -21
  3. package/dist/aloha-vue.css +13594 -13594
  4. package/dist/aloha-vue.css.map +1 -1
  5. package/dist/aloha-vue.es.js +59266 -64918
  6. package/dist/aloha-vue.umd.js +338 -211
  7. package/package.json +27 -34
  8. package/scss/components/ATable.scss +2 -2
  9. package/scss/utils/button.scss +362 -362
  10. package/scss/utils/funktions.scss +162 -162
  11. package/src/AAccordion/AAccordionItem/AAccordionItem.js +235 -230
  12. package/src/ACarousel/ACarousel.js +7 -2
  13. package/src/ADropdown/ADropdown.js +4 -1
  14. package/src/AFilters/AFilterCenter/AFilterCenter.js +5 -1
  15. package/src/AFilters/AFilterCenter/AFilterCenterItem/AFilterCenterItem.js +7 -2
  16. package/src/AFilters/AFiltersHorizontal/AFiltersHorizontal.js +412 -396
  17. package/src/AFilters/AFiltersHorizontal/AFiltersHorizontalFilter/AFiltersHorizontalFilter.js +102 -99
  18. package/src/AFilters/AFiltersHorizontal/compositionAPI/FiltersSavedDeleteAPI.js +108 -108
  19. package/src/AFilters/AFiltersMain/AFiltersMain.js +114 -111
  20. package/src/AFilters/AFiltersSaveModal/compositionAPI/SaveAPI.js +65 -65
  21. package/src/ALinkCopy/ALinkCopy.js +98 -95
  22. package/src/ALinkCopy/compositionAPI/CopyAPI.js +48 -48
  23. package/src/AList/__tests__/AList.test.js +33 -33
  24. package/src/AList/compositionAPI/__tests__/TagAPI.test.js +43 -43
  25. package/src/AMenu/AMenu.js +4 -1
  26. package/src/AMenu/AMenuBreadcrumbs/AMenuBreadcrumbs.js +240 -237
  27. package/src/AMenu/AMenuPanelLink/AMenuPanelLink.js +4 -1
  28. package/src/AMenu/AMenuSearchPanelBreadcrumbs/AMenuSearchPanelBreadcrumbs.js +122 -119
  29. package/src/AModalWizard/AModalWizard.js +58 -53
  30. package/src/AModalWizard/compositionAPI/__tests__/ScrollAPI.test.js +46 -46
  31. package/src/APagination/APaginationPages/APaginationPages.js +15 -4
  32. package/src/ARate/ARate.js +254 -249
  33. package/src/ARate/ARateIcon/ADecimalIcon/ADecimalIcon.js +53 -50
  34. package/src/ARate/ARateIcon/ARateIcon.js +109 -104
  35. package/src/AResizer/AResizer.js +167 -162
  36. package/src/ATable/ATableHeaderTh/compositionAPI/SortAPI.js +172 -167
  37. package/src/ATable/ATableHeaderThAction/ATableHeaderThAction.js +14 -4
  38. package/src/ATable/ATableHeaderThAction/ATableHeaderThActionItem/ATableHeaderThActionItem.js +191 -184
  39. package/src/ATable/ATablePreviewDown/ATablePreviewDown.js +72 -69
  40. package/src/ATable/ATablePreviewRight/ATablePreviewRight.js +265 -258
  41. package/src/ATable/ATableSortingAdditional/ATableSortingAdditional.js +224 -219
  42. package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.AttributesAPI.test.js +39 -39
  43. package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.ColumnsAPI.test.js +68 -68
  44. package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.DropdownAPI.test.js +45 -45
  45. package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.FormAPI.test.js +95 -95
  46. package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.ModelAPI.test.js +1 -1
  47. package/src/ATable/ATableTd/ATableTd.js +4 -1
  48. package/src/ATable/ATableTdAction/ATableTdAction.js +19 -12
  49. package/src/ATable/ATableTopPanel/ATableTopPanel.js +11 -3
  50. package/src/ATable/ATableTr/ATableTr.js +408 -405
  51. package/src/ATable/__tests__/ATable.HeaderSlot.test.js +102 -97
  52. package/src/ATable/__tests__/ATable.RowIdsAPI.test.js +66 -66
  53. package/src/ATableForm/ATableForm.js +88 -85
  54. package/src/ATableForm/ATableFormCellAction/ATableFormCellAction.js +14 -4
  55. package/src/ATableForm/ATableFormCellDnd/ATableFormCellDnd.js +196 -187
  56. package/src/ATableForm/ATableFormRow/compositionAPI/EditAPI.js +104 -104
  57. package/src/ATableForm/__tests__/ATableForm.DragAndDropAPI.test.js +200 -212
  58. package/src/ATableForm/__tests__/ATableForm.ListView.test.js +134 -174
  59. package/src/ATableForm/compositionAPI/IconsAPI.js +24 -21
  60. package/src/AVerticalScroll/AVerticalScroll.js +182 -177
  61. package/src/AWizard/AWizard.js +26 -21
  62. package/src/AWizard/AWizardStep/AWizardStep.js +275 -270
  63. package/src/AWizard/compositionAPI/__tests__/ChangeStepAPI.test.js +32 -32
  64. package/src/AWizard/compositionAPI/__tests__/LocalAPI.test.js +55 -55
  65. package/src/PuxDatepicker/PuxDatepickerCalendarPanel/PuxDatepickerCalendarPanel.js +646 -648
  66. package/src/PuxDatepicker/panel/PanelDate/PanelDate.js +300 -301
  67. package/src/PuxDatepicker/panel/PanelMonth/PanelMonth.js +148 -149
  68. package/src/PuxDatepicker/panel/PanelTime/PanelTime.js +256 -257
  69. package/src/PuxDatepicker/panel/PanelYear/PanelYear.js +136 -137
  70. package/src/PuxDatepicker/utils/index.js +100 -100
  71. package/src/compositionAPI/AHttpAPI.js +593 -593
  72. package/src/compositionAPI/__tests__/AHttpAPI.test.js +42 -42
  73. package/src/filters/__tests__/filterBoolean.test.js +38 -38
  74. package/src/filters/__tests__/filterCapitalize.test.js +38 -38
  75. package/src/filters/__tests__/filterCurrency.test.js +21 -21
  76. package/src/filters/__tests__/filterDate.test.js +42 -42
  77. package/src/filters/__tests__/filterDefaultForEmpty.test.js +24 -24
  78. package/src/filters/__tests__/filterEmail.test.js +42 -42
  79. package/src/filters/__tests__/filterEscapeHtml.test.js +45 -45
  80. package/src/filters/__tests__/filterFileSize.test.js +45 -45
  81. package/src/filters/__tests__/filterFloat.test.js +74 -74
  82. package/src/filters/__tests__/filterJson.test.js +74 -74
  83. package/src/filters/__tests__/filterKeyValue.test.js +50 -50
  84. package/src/filters/__tests__/filterLimitTo.test.js +39 -39
  85. package/src/filters/__tests__/filterLink.test.js +41 -41
  86. package/src/filters/__tests__/filterList.test.js +149 -149
  87. package/src/filters/__tests__/filterLowerCase.test.js +38 -38
  88. package/src/filters/__tests__/filterMask.test.js +80 -80
  89. package/src/filters/__tests__/filterPropertyByValue.test.js +27 -27
  90. package/src/filters/__tests__/filterSearchHighlight.test.js +129 -129
  91. package/src/filters/__tests__/filterUpperCase.test.js +38 -38
  92. package/src/filters/__tests__/filterValueByCondition.test.js +3 -3
  93. package/src/filters/filterJson.js +39 -39
  94. package/src/filters/filterValueByCondition.js +2 -2
  95. package/src/plugins/AAlertPlugin.js +16 -5
  96. package/src/plugins/AMultiselectOrderedPlugin.js +88 -81
  97. package/src/plugins/ASelectPlugin.js +12 -10
  98. package/src/ui/ACheckbox/ACheckbox.js +82 -79
  99. package/src/ui/ADatepicker/compositionAPI/EventsAPI.js +297 -297
  100. package/src/ui/ADatepicker/utils/index.js +76 -76
  101. package/src/ui/ADatepickerAlt/ADatepicker.js +912 -912
  102. package/src/ui/ADatepickerAlt/utils/index.js +98 -98
  103. package/src/ui/AFieldset/__tests__/AFieldset.ClassColumn.test.js +113 -114
  104. package/src/ui/AFormElementBtnClear/AFormElementBtnClear.js +4 -1
  105. package/src/ui/AInputCurrency/AInputCurrency.js +20 -15
  106. package/src/ui/AInputCurrency/__tests__/AInputCurrency.ModelAPI.test.js +73 -73
  107. package/src/ui/AInputNumber/AInputNumber.js +17 -12
  108. package/src/ui/AJson/AJson.js +12 -3
  109. package/src/ui/AJson/compositionAPI/JsonAPI.js +116 -116
  110. package/src/ui/ALabel/__tests__/ALabel.IdAPI.test.js +42 -42
  111. package/src/ui/ALabel/__tests__/ALabel.LabelAPI.test.js +33 -33
  112. package/src/ui/ARadio/ARadio.js +80 -77
  113. package/src/ui/ASelect/ASelect.js +390 -383
  114. package/src/ui/ASelect/ASelectElement/ASelectElement.js +179 -176
  115. package/src/ui/ASelect/ASelectValueCloseable/ASelectValueCloseable.js +143 -141
  116. package/src/ui/ASelect/__tests__/SelectedFirstAPI.test.js +101 -101
  117. package/src/ui/ASelect/__tests__/SelectedVisibleAPI.test.js +98 -98
  118. package/src/ui/ASlider/compositionAPI/SliderAPI.js +23 -23
  119. package/src/ui/AValidatedJson/AValidatedJson.js +4 -1
  120. package/src/ui/AValidatedJson/AValidatedJsonItem/AValidatedJsonItem.js +308 -298
  121. package/src/ui/compositionApi/UiCollapseAPI.js +68 -63
  122. package/src/ui/compositionApi/UiInputAutofillAPI.js +41 -41
  123. package/src/ui/compositionApi/__tests__/UIDataGroupAPI.test.js +106 -106
  124. package/src/ui/compositionApi/__tests__/UIExcludeRenderAttributesAPI.test.js +39 -39
  125. package/src/ui/compositionApi/__tests__/UiDataWithKeyIdAndLabelAPI.test.js +128 -128
  126. package/src/ui/compositionApi/__tests__/UiSearchAPI.test.js +71 -71
  127. package/src/utils/EventBus.js +51 -8
  128. package/src/utils/__tests__/EventBus.test.js +138 -0
  129. package/src/utils/__tests__/utils.aOrderBy.test.js +1 -1
  130. package/src/utils/__tests__/utils.aSortBy.test.js +1 -1
  131. package/src/utils/__tests__/utils.getTotalNestedCount.test.js +56 -56
  132. package/src/utils/__tests__/utils.isArrayOfArrays.test.js +44 -44
  133. package/src/utils/__tests__/utils.isArrayOfStrings.test.js +36 -36
  134. package/src/utils/__tests__/utilsArray.aFirst.test.js +1 -1
  135. package/src/utils/__tests__/utilsArray.aLast.test.js +1 -1
  136. package/src/utils/__tests__/utilsLang.isArguments.test.js +1 -1
  137. package/src/utils/__tests__/utilsLang.isArray.test.js +1 -1
  138. package/src/utils/__tests__/utilsLang.isArrayBuffer.test.js +1 -1
  139. package/src/utils/__tests__/utilsLang.isBoolean.test.js +1 -1
  140. package/src/utils/__tests__/utilsLang.isBuffer.test.js +1 -1
  141. package/src/utils/__tests__/utilsLang.isDate.test.js +1 -1
  142. package/src/utils/__tests__/utilsLang.isElement.test.js +5 -3
  143. package/src/utils/__tests__/utilsLang.isError.test.js +1 -1
  144. package/src/utils/__tests__/utilsLang.isFinite.test.js +1 -1
  145. package/src/utils/__tests__/utilsLang.isFunction.test.js +1 -1
  146. package/src/utils/__tests__/utilsLang.isInteger.test.js +1 -1
  147. package/src/utils/__tests__/utilsLang.isMap.test.js +1 -1
  148. package/src/utils/__tests__/utilsLang.isNaN.test.js +1 -1
  149. package/src/utils/__tests__/utilsLang.isNil.test.js +1 -1
  150. package/src/utils/__tests__/utilsLang.isNull.test.js +1 -1
  151. package/src/utils/__tests__/utilsLang.isNumber.test.js +1 -1
  152. package/src/utils/__tests__/utilsLang.isObject.test.js +1 -1
  153. package/src/utils/__tests__/utilsLang.isObjectLike.test.js +5 -3
  154. package/src/utils/__tests__/utilsLang.isPlainObject.test.js +3 -2
  155. package/src/utils/__tests__/utilsLang.isPromise.test.js +5 -2
  156. package/src/utils/__tests__/utilsLang.isRegExp.test.js +1 -1
  157. package/src/utils/__tests__/utilsLang.isSet.test.js +1 -1
  158. package/src/utils/__tests__/utilsLang.isString.test.js +1 -1
  159. package/src/utils/__tests__/utilsLang.isSymbol.test.js +5 -3
  160. package/src/utils/__tests__/utilsLang.isUndefined.test.js +1 -1
  161. package/src/utils/__tests__/utilsLang.isWeakMap.test.js +1 -1
  162. package/src/utils/__tests__/utilsLang.isWeakSet.test.js +1 -1
  163. package/src/utils/__tests__/utilsMath.isEven.test.js +43 -43
  164. package/src/utils/__tests__/utilsMath.isOdd.test.js +43 -43
  165. package/src/utils/__tests__/utilsUi.isModelForFilterNotEmpty.test.js +65 -65
  166. package/src/utils/autosize.js +1 -1
@@ -1,45 +1,45 @@
1
- import {
2
- describe,
3
- expect,
4
- it,
5
- } from "@jest/globals";
6
-
7
- import filterFileSize from "../filterFileSize.js";
8
-
9
- describe("filterFileSize", () => {
10
- it("default", () => {
11
- expect(filterFileSize(1024)).toBe("1,00 _A_FILE_SIZE_KB_");
12
- expect(filterFileSize(0)).toBe("0,00 _A_FILE_SIZE_KB_");
13
- expect(filterFileSize(500)).toBe("0,49 _A_FILE_SIZE_KB_");
14
- expect(filterFileSize(504547643)).toBe("492.722,31 _A_FILE_SIZE_KB_");
15
- });
16
-
17
- it("units", () => {
18
- expect(filterFileSize(1048576, { units: "mb" })).toBe("1,00 _A_FILE_SIZE_MB_");
19
- expect(filterFileSize(0, { units: "mb" })).toBe("0,00 _A_FILE_SIZE_MB_");
20
- expect(filterFileSize(9226889999, { units: "gb" })).toBe("8,59 _A_FILE_SIZE_GB_");
21
- expect(filterFileSize(1024, { units: "" })).toBe("1,00 _A_FILE_SIZE_KB_");
22
- expect(filterFileSize(0, { units: "" })).toBe("0,00 _A_FILE_SIZE_B_");
23
- });
24
-
25
- it("sourceUnits", () => {
26
- expect(filterFileSize(1, { units: "mb", sourceUnits: "mb" })).toBe("1,00 _A_FILE_SIZE_MB_");
27
- expect(filterFileSize(1, { units: "kb", sourceUnits: "gb" })).toBe("1.048.576,00 _A_FILE_SIZE_KB_");
28
- expect(filterFileSize(0, { sourceUnits: "mb" })).toBe("0,00 _A_FILE_SIZE_KB_");
29
- expect(filterFileSize(1024, { sourceUnits: "b" })).toBe("1,00 _A_FILE_SIZE_KB_");
30
- expect(filterFileSize(12, { units: "tb", sourceUnits: "pb" })).toBe("12.288,00 _A_FILE_SIZE_TB_");
31
- });
32
-
33
- it("digits", () => {
34
- expect(filterFileSize(1024, { digits: 0 })).toBe("1 _A_FILE_SIZE_KB_");
35
- expect(filterFileSize(500, { digits: 1 })).toBe("0,5 _A_FILE_SIZE_KB_");
36
- });
37
-
38
- it("combined", () => {
39
- expect(filterFileSize(133889, { units: "tb", sourceUnits: "mb", digits: 3 })).toBe("0,128 _A_FILE_SIZE_TB_");
40
- });
41
-
42
- it("value (String)", () => {
43
- expect(filterFileSize("1024.1")).toBe("1,00 _A_FILE_SIZE_KB_");
44
- });
45
- });
1
+ import {
2
+ describe,
3
+ expect,
4
+ it,
5
+ } from "vitest";
6
+
7
+ import filterFileSize from "../filterFileSize.js";
8
+
9
+ describe("filterFileSize", () => {
10
+ it("default", () => {
11
+ expect(filterFileSize(1024)).toBe("1,00 _A_FILE_SIZE_KB_");
12
+ expect(filterFileSize(0)).toBe("0,00 _A_FILE_SIZE_KB_");
13
+ expect(filterFileSize(500)).toBe("0,49 _A_FILE_SIZE_KB_");
14
+ expect(filterFileSize(504547643)).toBe("492.722,31 _A_FILE_SIZE_KB_");
15
+ });
16
+
17
+ it("units", () => {
18
+ expect(filterFileSize(1048576, { units: "mb" })).toBe("1,00 _A_FILE_SIZE_MB_");
19
+ expect(filterFileSize(0, { units: "mb" })).toBe("0,00 _A_FILE_SIZE_MB_");
20
+ expect(filterFileSize(9226889999, { units: "gb" })).toBe("8,59 _A_FILE_SIZE_GB_");
21
+ expect(filterFileSize(1024, { units: "" })).toBe("1,00 _A_FILE_SIZE_KB_");
22
+ expect(filterFileSize(0, { units: "" })).toBe("0,00 _A_FILE_SIZE_B_");
23
+ });
24
+
25
+ it("sourceUnits", () => {
26
+ expect(filterFileSize(1, { units: "mb", sourceUnits: "mb" })).toBe("1,00 _A_FILE_SIZE_MB_");
27
+ expect(filterFileSize(1, { units: "kb", sourceUnits: "gb" })).toBe("1.048.576,00 _A_FILE_SIZE_KB_");
28
+ expect(filterFileSize(0, { sourceUnits: "mb" })).toBe("0,00 _A_FILE_SIZE_KB_");
29
+ expect(filterFileSize(1024, { sourceUnits: "b" })).toBe("1,00 _A_FILE_SIZE_KB_");
30
+ expect(filterFileSize(12, { units: "tb", sourceUnits: "pb" })).toBe("12.288,00 _A_FILE_SIZE_TB_");
31
+ });
32
+
33
+ it("digits", () => {
34
+ expect(filterFileSize(1024, { digits: 0 })).toBe("1 _A_FILE_SIZE_KB_");
35
+ expect(filterFileSize(500, { digits: 1 })).toBe("0,5 _A_FILE_SIZE_KB_");
36
+ });
37
+
38
+ it("combined", () => {
39
+ expect(filterFileSize(133889, { units: "tb", sourceUnits: "mb", digits: 3 })).toBe("0,128 _A_FILE_SIZE_TB_");
40
+ });
41
+
42
+ it("value (String)", () => {
43
+ expect(filterFileSize("1024.1")).toBe("1,00 _A_FILE_SIZE_KB_");
44
+ });
45
+ });
@@ -1,74 +1,74 @@
1
- import {
2
- describe,
3
- expect,
4
- it,
5
- } from "@jest/globals";
6
-
7
- import filterFloat from "../filterFloat";
8
-
9
- describe("filterFloat", () => {
10
- it("without extra attributes", () => {
11
- expect(filterFloat(123456)).toBe("123.456,00");
12
- expect(filterFloat(1000)).toBe("1.000,00");
13
- expect(filterFloat(1000000)).toBe("1.000.000,00");
14
- expect(filterFloat(1000.12)).toBe("1.000,12");
15
- expect(filterFloat(0.12)).toBe("0,12");
16
- expect(filterFloat(0.1234)).toBe("0,12");
17
- expect(filterFloat(0)).toBe("0,00");
18
- expect(filterFloat(0.000)).toBe("0,00");
19
- expect(filterFloat(undefined)).toBe("");
20
- expect(filterFloat(null)).toBe("");
21
- expect(filterFloat("")).toBe("0,00");
22
- expect(filterFloat("1000.12")).toBe("1.000,12");
23
- expect(filterFloat("1.000.000,00")).toBe("1.000.000,00");
24
- expect(filterFloat("Aloha")).toBe("Aloha");
25
- });
26
-
27
- it("suffix", () => {
28
- expect(filterFloat(123456, { suffix: "%" })).toBe("123.456,00 %");
29
- expect(filterFloat(1000, { suffix: "€" })).toBe("1.000,00 €");
30
- expect(filterFloat("1000", { suffix: "%" })).toBe("1.000,00 %");
31
- expect(filterFloat("Aloha", { suffix: "%" })).toBe("Aloha");
32
- expect(filterFloat(undefined, { suffix: "%" })).toBe("");
33
- expect(filterFloat(null, { suffix: "%" })).toBe("");
34
- expect(filterFloat("", { suffix: "%" })).toBe("0,00 %");
35
- expect(filterFloat("1.000.000,00", { suffix: "%" })).toBe("1.000.000,00 %");
36
- });
37
-
38
- it("digits", () => {
39
- expect(filterFloat(123456, { digits: 2 })).toBe("123.456,00");
40
- expect(filterFloat(123456, { digits: 4 })).toBe("123.456,0000");
41
- expect(filterFloat(123.12345, { digits: 3 })).toBe("123,123");
42
- expect(filterFloat(123.12345, { digits: 1 })).toBe("123,1");
43
- expect(filterFloat(123.12345, { digits: 0 })).toBe("123");
44
- expect(filterFloat(1000.12345, { digits: 0 })).toBe("1.000");
45
- expect(filterFloat("", { digits: 0 })).toBe("0");
46
- expect(filterFloat("Aloha", { digits: 0 })).toBe("Aloha");
47
- expect(filterFloat(undefined, { digits: 0 })).toBe("");
48
- expect(filterFloat(null, { digits: 0 })).toBe("");
49
- expect(filterFloat("1.000.000,00", { digits: 0 })).toBe("1.000.000");
50
- });
51
-
52
- it("digitGrouping", () => {
53
- expect(filterFloat(123456, { digitGrouping: true })).toBe("123.456,00");
54
- expect(filterFloat(123456, { digitGrouping: false })).toBe("123456,00");
55
- expect(filterFloat(1000000, { digitGrouping: true })).toBe("1.000.000,00");
56
- expect(filterFloat(1000000, { digitGrouping: false })).toBe("1000000,00");
57
- });
58
-
59
- it("negative value", () => {
60
- expect(filterFloat(-123456)).toBe("-123.456,00");
61
- expect(filterFloat(-1000000)).toBe("-1.000.000,00");
62
- expect(filterFloat(-1)).toBe("-1,00");
63
- expect(filterFloat(-0)).toBe("0,00");
64
- expect(filterFloat("-1.000.000,00")).toBe("-1.000.000,00");
65
- expect(filterFloat("-1.000.000,01234")).toBe("-1.000.000,01");
66
- });
67
-
68
- it("complex example", () => {
69
- expect(filterFloat(1000000, { suffix: "%", digits: 0, digitGrouping: false })).toBe("1000000 %");
70
- expect(filterFloat(0.123, { suffix: "%", digits: 0, digitGrouping: false })).toBe("0 %");
71
- expect(filterFloat(0.123, { suffix: "%", digits: 4, digitGrouping: false })).toBe("0,1230 %");
72
- });
73
- });
74
-
1
+ import {
2
+ describe,
3
+ expect,
4
+ it,
5
+ } from "vitest";
6
+
7
+ import filterFloat from "../filterFloat";
8
+
9
+ describe("filterFloat", () => {
10
+ it("without extra attributes", () => {
11
+ expect(filterFloat(123456)).toBe("123.456,00");
12
+ expect(filterFloat(1000)).toBe("1.000,00");
13
+ expect(filterFloat(1000000)).toBe("1.000.000,00");
14
+ expect(filterFloat(1000.12)).toBe("1.000,12");
15
+ expect(filterFloat(0.12)).toBe("0,12");
16
+ expect(filterFloat(0.1234)).toBe("0,12");
17
+ expect(filterFloat(0)).toBe("0,00");
18
+ expect(filterFloat(0.000)).toBe("0,00");
19
+ expect(filterFloat(undefined)).toBe("");
20
+ expect(filterFloat(null)).toBe("");
21
+ expect(filterFloat("")).toBe("0,00");
22
+ expect(filterFloat("1000.12")).toBe("1.000,12");
23
+ expect(filterFloat("1.000.000,00")).toBe("1.000.000,00");
24
+ expect(filterFloat("Aloha")).toBe("Aloha");
25
+ });
26
+
27
+ it("suffix", () => {
28
+ expect(filterFloat(123456, { suffix: "%" })).toBe("123.456,00 %");
29
+ expect(filterFloat(1000, { suffix: "€" })).toBe("1.000,00 €");
30
+ expect(filterFloat("1000", { suffix: "%" })).toBe("1.000,00 %");
31
+ expect(filterFloat("Aloha", { suffix: "%" })).toBe("Aloha");
32
+ expect(filterFloat(undefined, { suffix: "%" })).toBe("");
33
+ expect(filterFloat(null, { suffix: "%" })).toBe("");
34
+ expect(filterFloat("", { suffix: "%" })).toBe("0,00 %");
35
+ expect(filterFloat("1.000.000,00", { suffix: "%" })).toBe("1.000.000,00 %");
36
+ });
37
+
38
+ it("digits", () => {
39
+ expect(filterFloat(123456, { digits: 2 })).toBe("123.456,00");
40
+ expect(filterFloat(123456, { digits: 4 })).toBe("123.456,0000");
41
+ expect(filterFloat(123.12345, { digits: 3 })).toBe("123,123");
42
+ expect(filterFloat(123.12345, { digits: 1 })).toBe("123,1");
43
+ expect(filterFloat(123.12345, { digits: 0 })).toBe("123");
44
+ expect(filterFloat(1000.12345, { digits: 0 })).toBe("1.000");
45
+ expect(filterFloat("", { digits: 0 })).toBe("0");
46
+ expect(filterFloat("Aloha", { digits: 0 })).toBe("Aloha");
47
+ expect(filterFloat(undefined, { digits: 0 })).toBe("");
48
+ expect(filterFloat(null, { digits: 0 })).toBe("");
49
+ expect(filterFloat("1.000.000,00", { digits: 0 })).toBe("1.000.000");
50
+ });
51
+
52
+ it("digitGrouping", () => {
53
+ expect(filterFloat(123456, { digitGrouping: true })).toBe("123.456,00");
54
+ expect(filterFloat(123456, { digitGrouping: false })).toBe("123456,00");
55
+ expect(filterFloat(1000000, { digitGrouping: true })).toBe("1.000.000,00");
56
+ expect(filterFloat(1000000, { digitGrouping: false })).toBe("1000000,00");
57
+ });
58
+
59
+ it("negative value", () => {
60
+ expect(filterFloat(-123456)).toBe("-123.456,00");
61
+ expect(filterFloat(-1000000)).toBe("-1.000.000,00");
62
+ expect(filterFloat(-1)).toBe("-1,00");
63
+ expect(filterFloat(-0)).toBe("0,00");
64
+ expect(filterFloat("-1.000.000,00")).toBe("-1.000.000,00");
65
+ expect(filterFloat("-1.000.000,01234")).toBe("-1.000.000,01");
66
+ });
67
+
68
+ it("complex example", () => {
69
+ expect(filterFloat(1000000, { suffix: "%", digits: 0, digitGrouping: false })).toBe("1000000 %");
70
+ expect(filterFloat(0.123, { suffix: "%", digits: 0, digitGrouping: false })).toBe("0 %");
71
+ expect(filterFloat(0.123, { suffix: "%", digits: 4, digitGrouping: false })).toBe("0,1230 %");
72
+ });
73
+ });
74
+
@@ -1,74 +1,74 @@
1
- import {
2
- describe,
3
- expect,
4
- it,
5
- } from "@jest/globals";
6
-
7
- import filterJson from "../filterJson";
8
-
9
- describe("filterJson", () => {
10
- it("returns empty string when input value is null", () => {
11
- expect(filterJson(null)).toBe("");
12
- });
13
-
14
- it("returns empty string when input value is undefined", () => {
15
- expect(filterJson(undefined)).toBe("");
16
- });
17
-
18
- it("returns a stringified JSON when input value is a valid JSON", () => {
19
- const value = { key: "value" };
20
- const expectedOutput = JSON.stringify(value, null, 2);
21
-
22
- expect(filterJson(value)).toBe(expectedOutput);
23
- });
24
-
25
- it("returns empty string when an error occurs during stringifying", () => {
26
- const circularReference = {};
27
- circularReference.self = circularReference;
28
-
29
- expect(filterJson(circularReference)).toBe("");
30
- });
31
-
32
- it("returns formatted HTML output when isHtml is true", () => {
33
- const value = { key: "value" };
34
- const expectedOutput = `<pre class="a_code_content">${ JSON.stringify(value, null, 2) }</pre>`;
35
-
36
- expect(filterJson(value, { isHtml: true })).toBe(expectedOutput);
37
- });
38
-
39
- it("returns formatted HTML output with custom class", () => {
40
- const value = { key: "value" };
41
- const expectedOutput = `<pre class="custom_class">${ JSON.stringify(value, null, 2) }</pre>`;
42
-
43
- expect(filterJson(value, { isHtml: true, jsonClass: "custom_class" })).toBe(expectedOutput);
44
- });
45
-
46
- it("returns formatted HTML output with custom tag", () => {
47
- const value = { key: "value" };
48
- const expectedOutput = `<div class="a_code_content">${ JSON.stringify(value, null, 2) }</div>`;
49
-
50
- expect(filterJson(value, { isHtml: true, tag: "div" })).toBe(expectedOutput);
51
- });
52
-
53
- it("returns formatted HTML output with custom tag and class", () => {
54
- const value = { key: "value" };
55
- const expectedOutput = `<span class="custom_class">${ JSON.stringify(value, null, 2) }</span>`;
56
-
57
- expect(filterJson(value, { isHtml: true, tag: "span", jsonClass: "custom_class" })).toBe(expectedOutput);
58
- });
59
-
60
- it("returns correctly formatted JSON when using a replacer function", () => {
61
- const value = { key1: "value1", key2: "value2" };
62
- const replacer = (key, val) => (key === "key1" ? undefined : val);
63
- const expectedOutput = JSON.stringify(value, replacer, 2);
64
-
65
- expect(filterJson(value, { replacer })).toBe(expectedOutput);
66
- });
67
-
68
- it("returns correctly formatted JSON with a custom space indentation", () => {
69
- const value = { key: "value" };
70
- const expectedOutput = JSON.stringify(value, null, 4);
71
-
72
- expect(filterJson(value, { space: 4 })).toBe(expectedOutput);
73
- });
74
- });
1
+ import {
2
+ describe,
3
+ expect,
4
+ it,
5
+ } from "vitest";
6
+
7
+ import filterJson from "../filterJson";
8
+
9
+ describe("filterJson", () => {
10
+ it("returns empty string when input value is null", () => {
11
+ expect(filterJson(null)).toBe("");
12
+ });
13
+
14
+ it("returns empty string when input value is undefined", () => {
15
+ expect(filterJson(undefined)).toBe("");
16
+ });
17
+
18
+ it("returns a stringified JSON when input value is a valid JSON", () => {
19
+ const value = { key: "value" };
20
+ const expectedOutput = JSON.stringify(value, null, 2);
21
+
22
+ expect(filterJson(value)).toBe(expectedOutput);
23
+ });
24
+
25
+ it("returns empty string when an error occurs during stringifying", () => {
26
+ const circularReference = {};
27
+ circularReference.self = circularReference;
28
+
29
+ expect(filterJson(circularReference)).toBe("");
30
+ });
31
+
32
+ it("returns formatted HTML output when isHtml is true", () => {
33
+ const value = { key: "value" };
34
+ const expectedOutput = `<pre class="a_code_content">${ JSON.stringify(value, null, 2) }</pre>`;
35
+
36
+ expect(filterJson(value, { isHtml: true })).toBe(expectedOutput);
37
+ });
38
+
39
+ it("returns formatted HTML output with custom class", () => {
40
+ const value = { key: "value" };
41
+ const expectedOutput = `<pre class="custom_class">${ JSON.stringify(value, null, 2) }</pre>`;
42
+
43
+ expect(filterJson(value, { isHtml: true, jsonClass: "custom_class" })).toBe(expectedOutput);
44
+ });
45
+
46
+ it("returns formatted HTML output with custom tag", () => {
47
+ const value = { key: "value" };
48
+ const expectedOutput = `<div class="a_code_content">${ JSON.stringify(value, null, 2) }</div>`;
49
+
50
+ expect(filterJson(value, { isHtml: true, tag: "div" })).toBe(expectedOutput);
51
+ });
52
+
53
+ it("returns formatted HTML output with custom tag and class", () => {
54
+ const value = { key: "value" };
55
+ const expectedOutput = `<span class="custom_class">${ JSON.stringify(value, null, 2) }</span>`;
56
+
57
+ expect(filterJson(value, { isHtml: true, tag: "span", jsonClass: "custom_class" })).toBe(expectedOutput);
58
+ });
59
+
60
+ it("returns correctly formatted JSON when using a replacer function", () => {
61
+ const value = { key1: "value1", key2: "value2" };
62
+ const replacer = (key, val) => (key === "key1" ? undefined : val);
63
+ const expectedOutput = JSON.stringify(value, replacer, 2);
64
+
65
+ expect(filterJson(value, { replacer })).toBe(expectedOutput);
66
+ });
67
+
68
+ it("returns correctly formatted JSON with a custom space indentation", () => {
69
+ const value = { key: "value" };
70
+ const expectedOutput = JSON.stringify(value, null, 4);
71
+
72
+ expect(filterJson(value, { space: 4 })).toBe(expectedOutput);
73
+ });
74
+ });
@@ -1,50 +1,50 @@
1
- import {
2
- describe,
3
- expect,
4
- it,
5
- } from "@jest/globals";
6
-
7
- import filterKeyValue from "../filterKeyValue";
8
-
9
- describe("filterKeyValue", () => {
10
- it("single key-value pair", () => {
11
- expect(filterKeyValue({ greeting: "aloha" })).toBe("greeting: aloha");
12
- });
13
-
14
- it("multiple key-value pairs", () => {
15
- expect(filterKeyValue({ greeting: "aloha", farewell: "aloha" })).toBe("greeting: aloha, farewell: aloha");
16
- });
17
-
18
- it("empty object", () => {
19
- expect(filterKeyValue({})).toBe("");
20
- });
21
-
22
- it("null input", () => {
23
- expect(filterKeyValue(null)).toBe("");
24
- });
25
-
26
- it("undefined input", () => {
27
- expect(filterKeyValue(undefined)).toBe("");
28
- });
29
-
30
- it("numeric and string values", () => {
31
- expect(filterKeyValue({ alohaCount: 3, message: "aloha" })).toBe("alohaCount: 3, message: aloha");
32
- });
33
-
34
- it("nested object", () => {
35
- expect(filterKeyValue({ level1: { greeting: "aloha" } })).toBe("level1: [object Object]");
36
- });
37
-
38
- it("object with array values", () => {
39
- expect(filterKeyValue({ alohas: ["aloha", "hello", "hi"] })).toBe("alohas: aloha,hello,hi");
40
- });
41
-
42
- it("object with boolean and null values", () => {
43
- expect(filterKeyValue({ isActive: true, isEmpty: null })).toBe("isActive: true, isEmpty: null");
44
- });
45
-
46
- it("complex object", () => {
47
- expect(filterKeyValue({ greeting: "aloha", number: 42, nested: { key: "value" }, list: [1, 2, 3] }))
48
- .toBe("greeting: aloha, number: 42, nested: [object Object], list: 1,2,3");
49
- });
50
- });
1
+ import {
2
+ describe,
3
+ expect,
4
+ it,
5
+ } from "vitest";
6
+
7
+ import filterKeyValue from "../filterKeyValue";
8
+
9
+ describe("filterKeyValue", () => {
10
+ it("single key-value pair", () => {
11
+ expect(filterKeyValue({ greeting: "aloha" })).toBe("greeting: aloha");
12
+ });
13
+
14
+ it("multiple key-value pairs", () => {
15
+ expect(filterKeyValue({ greeting: "aloha", farewell: "aloha" })).toBe("greeting: aloha, farewell: aloha");
16
+ });
17
+
18
+ it("empty object", () => {
19
+ expect(filterKeyValue({})).toBe("");
20
+ });
21
+
22
+ it("null input", () => {
23
+ expect(filterKeyValue(null)).toBe("");
24
+ });
25
+
26
+ it("undefined input", () => {
27
+ expect(filterKeyValue(undefined)).toBe("");
28
+ });
29
+
30
+ it("numeric and string values", () => {
31
+ expect(filterKeyValue({ alohaCount: 3, message: "aloha" })).toBe("alohaCount: 3, message: aloha");
32
+ });
33
+
34
+ it("nested object", () => {
35
+ expect(filterKeyValue({ level1: { greeting: "aloha" } })).toBe("level1: [object Object]");
36
+ });
37
+
38
+ it("object with array values", () => {
39
+ expect(filterKeyValue({ alohas: ["aloha", "hello", "hi"] })).toBe("alohas: aloha,hello,hi");
40
+ });
41
+
42
+ it("object with boolean and null values", () => {
43
+ expect(filterKeyValue({ isActive: true, isEmpty: null })).toBe("isActive: true, isEmpty: null");
44
+ });
45
+
46
+ it("complex object", () => {
47
+ expect(filterKeyValue({ greeting: "aloha", number: 42, nested: { key: "value" }, list: [1, 2, 3] }))
48
+ .toBe("greeting: aloha, number: 42, nested: [object Object], list: 1,2,3");
49
+ });
50
+ });
@@ -1,39 +1,39 @@
1
- import {
2
- describe,
3
- expect,
4
- it,
5
- } from "@jest/globals";
6
-
7
- import filterLimitTo from "../filterLimitTo";
8
-
9
- describe("filterLimitTo", () => {
10
- it("text exactly at limit", () => {
11
- expect(filterLimitTo("Lorem ipsum dolor sit amet, cons", { limit: 30 })).toBe("Lorem ipsum dolor sit amet, co...");
12
- });
13
-
14
- it("long text exceeding limit", () => {
15
- expect(filterLimitTo("Lorem ipsum dolor sit amet, consectetur adipiscing elit", { limit: 30 })).toBe("Lorem ipsum dolor sit amet, co...");
16
- });
17
-
18
- it("text ending with a period", () => {
19
- expect(filterLimitTo("Lorem ipsum dolor sit amet.", { limit: 30 })).toBe("Lorem ipsum dolor sit amet.");
20
- });
21
-
22
- it("text with multiple periods at the end", () => {
23
- expect(filterLimitTo("Lorem ipsum dolor sit amet...", { limit: 30 })).toBe("Lorem ipsum dolor sit amet...");
24
- });
25
-
26
- it("numeric value treated as text", () => {
27
- expect(filterLimitTo(1234567890, { limit: 10 })).toBe("1234567890");
28
- expect(filterLimitTo(1234567890, { limit: 9 })).toBe("123456789...");
29
- });
30
-
31
- it("null value", () => {
32
- expect(filterLimitTo(null, { limit: 30 })).toBe("");
33
- });
34
-
35
- it("maxThreeDots false", () => {
36
- expect(filterLimitTo("Lorem ipsum dolor sit amet, c..", { limit: 30, maxThreeDots: false })).toBe("Lorem ipsum dolor sit amet, c....");
37
- expect(filterLimitTo("Lorem ipsum dolor sit ame, c...", { limit: 30, maxThreeDots: false })).toBe("Lorem ipsum dolor sit ame, c.....");
38
- });
39
- });
1
+ import {
2
+ describe,
3
+ expect,
4
+ it,
5
+ } from "vitest";
6
+
7
+ import filterLimitTo from "../filterLimitTo";
8
+
9
+ describe("filterLimitTo", () => {
10
+ it("text exactly at limit", () => {
11
+ expect(filterLimitTo("Lorem ipsum dolor sit amet, cons", { limit: 30 })).toBe("Lorem ipsum dolor sit amet, co...");
12
+ });
13
+
14
+ it("long text exceeding limit", () => {
15
+ expect(filterLimitTo("Lorem ipsum dolor sit amet, consectetur adipiscing elit", { limit: 30 })).toBe("Lorem ipsum dolor sit amet, co...");
16
+ });
17
+
18
+ it("text ending with a period", () => {
19
+ expect(filterLimitTo("Lorem ipsum dolor sit amet.", { limit: 30 })).toBe("Lorem ipsum dolor sit amet.");
20
+ });
21
+
22
+ it("text with multiple periods at the end", () => {
23
+ expect(filterLimitTo("Lorem ipsum dolor sit amet...", { limit: 30 })).toBe("Lorem ipsum dolor sit amet...");
24
+ });
25
+
26
+ it("numeric value treated as text", () => {
27
+ expect(filterLimitTo(1234567890, { limit: 10 })).toBe("1234567890");
28
+ expect(filterLimitTo(1234567890, { limit: 9 })).toBe("123456789...");
29
+ });
30
+
31
+ it("null value", () => {
32
+ expect(filterLimitTo(null, { limit: 30 })).toBe("");
33
+ });
34
+
35
+ it("maxThreeDots false", () => {
36
+ expect(filterLimitTo("Lorem ipsum dolor sit amet, c..", { limit: 30, maxThreeDots: false })).toBe("Lorem ipsum dolor sit amet, c....");
37
+ expect(filterLimitTo("Lorem ipsum dolor sit ame, c...", { limit: 30, maxThreeDots: false })).toBe("Lorem ipsum dolor sit ame, c.....");
38
+ });
39
+ });