@maxclicks/core 1.0.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 (191) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -0
  3. package/dist/helpers/deepClone.d.ts +4 -0
  4. package/dist/helpers/deepClone.d.ts.map +1 -0
  5. package/dist/helpers/deepClone.js +11 -0
  6. package/dist/helpers/deepClone.js.map +1 -0
  7. package/dist/helpers/delay.d.ts +5 -0
  8. package/dist/helpers/delay.d.ts.map +1 -0
  9. package/dist/helpers/delay.js +40 -0
  10. package/dist/helpers/delay.js.map +1 -0
  11. package/dist/helpers/error-warning/alterError.d.ts +6 -0
  12. package/dist/helpers/error-warning/alterError.d.ts.map +1 -0
  13. package/dist/helpers/error-warning/alterError.js +30 -0
  14. package/dist/helpers/error-warning/alterError.js.map +1 -0
  15. package/dist/helpers/error-warning/combineMessages.d.ts +17 -0
  16. package/dist/helpers/error-warning/combineMessages.d.ts.map +1 -0
  17. package/dist/helpers/error-warning/combineMessages.js +19 -0
  18. package/dist/helpers/error-warning/combineMessages.js.map +1 -0
  19. package/dist/helpers/error-warning/getErrorMessage.d.ts +2 -0
  20. package/dist/helpers/error-warning/getErrorMessage.d.ts.map +1 -0
  21. package/dist/helpers/error-warning/getErrorMessage.js +5 -0
  22. package/dist/helpers/error-warning/getErrorMessage.js.map +1 -0
  23. package/dist/helpers/error-warning/prependMessage.d.ts +2 -0
  24. package/dist/helpers/error-warning/prependMessage.d.ts.map +1 -0
  25. package/dist/helpers/error-warning/prependMessage.js +9 -0
  26. package/dist/helpers/error-warning/prependMessage.js.map +1 -0
  27. package/dist/helpers/error-warning/throwError.d.ts +2 -0
  28. package/dist/helpers/error-warning/throwError.d.ts.map +1 -0
  29. package/dist/helpers/error-warning/throwError.js +4 -0
  30. package/dist/helpers/error-warning/throwError.js.map +1 -0
  31. package/dist/helpers/escapeForRegExp.d.ts +2 -0
  32. package/dist/helpers/escapeForRegExp.d.ts.map +1 -0
  33. package/dist/helpers/escapeForRegExp.js +4 -0
  34. package/dist/helpers/escapeForRegExp.js.map +1 -0
  35. package/dist/helpers/formatCurrencyUsd.d.ts +2 -0
  36. package/dist/helpers/formatCurrencyUsd.d.ts.map +1 -0
  37. package/dist/helpers/formatCurrencyUsd.js +8 -0
  38. package/dist/helpers/formatCurrencyUsd.js.map +1 -0
  39. package/dist/helpers/generateRandomKey.d.ts +10 -0
  40. package/dist/helpers/generateRandomKey.d.ts.map +1 -0
  41. package/dist/helpers/generateRandomKey.js +24 -0
  42. package/dist/helpers/generateRandomKey.js.map +1 -0
  43. package/dist/helpers/generateRuntimeId.d.ts +2 -0
  44. package/dist/helpers/generateRuntimeId.d.ts.map +1 -0
  45. package/dist/helpers/generateRuntimeId.js +6 -0
  46. package/dist/helpers/generateRuntimeId.js.map +1 -0
  47. package/dist/helpers/generateSequence.d.ts +7 -0
  48. package/dist/helpers/generateSequence.d.ts.map +1 -0
  49. package/dist/helpers/generateSequence.js +9 -0
  50. package/dist/helpers/generateSequence.js.map +1 -0
  51. package/dist/helpers/getEnumKeyValues.d.ts +5 -0
  52. package/dist/helpers/getEnumKeyValues.d.ts.map +1 -0
  53. package/dist/helpers/getEnumKeyValues.js +7 -0
  54. package/dist/helpers/getEnumKeyValues.js.map +1 -0
  55. package/dist/helpers/haveSameContents.d.ts +2 -0
  56. package/dist/helpers/haveSameContents.d.ts.map +1 -0
  57. package/dist/helpers/haveSameContents.js +32 -0
  58. package/dist/helpers/haveSameContents.js.map +1 -0
  59. package/dist/helpers/isOneOf.d.ts +13 -0
  60. package/dist/helpers/isOneOf.d.ts.map +1 -0
  61. package/dist/helpers/isOneOf.js +2 -0
  62. package/dist/helpers/isOneOf.js.map +1 -0
  63. package/dist/helpers/native/arrayHelpers.d.ts +38 -0
  64. package/dist/helpers/native/arrayHelpers.d.ts.map +1 -0
  65. package/dist/helpers/native/arrayHelpers.js +151 -0
  66. package/dist/helpers/native/arrayHelpers.js.map +1 -0
  67. package/dist/helpers/native/objectHelpers.d.ts +23 -0
  68. package/dist/helpers/native/objectHelpers.d.ts.map +1 -0
  69. package/dist/helpers/native/objectHelpers.js +81 -0
  70. package/dist/helpers/native/objectHelpers.js.map +1 -0
  71. package/dist/helpers/native/stringHelpers.d.ts +8 -0
  72. package/dist/helpers/native/stringHelpers.d.ts.map +1 -0
  73. package/dist/helpers/native/stringHelpers.js +12 -0
  74. package/dist/helpers/native/stringHelpers.js.map +1 -0
  75. package/dist/helpers/optional.d.ts +10 -0
  76. package/dist/helpers/optional.d.ts.map +1 -0
  77. package/dist/helpers/optional.js +14 -0
  78. package/dist/helpers/optional.js.map +1 -0
  79. package/dist/helpers/percent.d.ts +5 -0
  80. package/dist/helpers/percent.d.ts.map +1 -0
  81. package/dist/helpers/percent.js +17 -0
  82. package/dist/helpers/percent.js.map +1 -0
  83. package/dist/helpers/typed.d.ts +2 -0
  84. package/dist/helpers/typed.d.ts.map +1 -0
  85. package/dist/helpers/typed.js +4 -0
  86. package/dist/helpers/typed.js.map +1 -0
  87. package/dist/index.d.ts +42 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +42 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/modules/common-normalizers/descriptionNormalizer.d.ts +3 -0
  92. package/dist/modules/common-normalizers/descriptionNormalizer.d.ts.map +1 -0
  93. package/dist/modules/common-normalizers/descriptionNormalizer.js +3 -0
  94. package/dist/modules/common-normalizers/descriptionNormalizer.js.map +1 -0
  95. package/dist/modules/common-normalizers/labelNormalizer.d.ts +3 -0
  96. package/dist/modules/common-normalizers/labelNormalizer.d.ts.map +1 -0
  97. package/dist/modules/common-normalizers/labelNormalizer.js +3 -0
  98. package/dist/modules/common-normalizers/labelNormalizer.js.map +1 -0
  99. package/dist/modules/common-normalizers/nameNormalizer.d.ts +2 -0
  100. package/dist/modules/common-normalizers/nameNormalizer.d.ts.map +1 -0
  101. package/dist/modules/common-normalizers/nameNormalizer.js +3 -0
  102. package/dist/modules/common-normalizers/nameNormalizer.js.map +1 -0
  103. package/dist/modules/common-normalizers/widthHeightNormalizer.d.ts +3 -0
  104. package/dist/modules/common-normalizers/widthHeightNormalizer.d.ts.map +1 -0
  105. package/dist/modules/common-normalizers/widthHeightNormalizer.js +3 -0
  106. package/dist/modules/common-normalizers/widthHeightNormalizer.js.map +1 -0
  107. package/dist/types/Address.d.ts +16 -0
  108. package/dist/types/Address.d.ts.map +1 -0
  109. package/dist/types/Address.js +34 -0
  110. package/dist/types/Address.js.map +1 -0
  111. package/dist/types/Color.d.ts +6 -0
  112. package/dist/types/Color.d.ts.map +1 -0
  113. package/dist/types/Color.js +19 -0
  114. package/dist/types/Color.js.map +1 -0
  115. package/dist/types/DateOnly.d.ts +6 -0
  116. package/dist/types/DateOnly.d.ts.map +1 -0
  117. package/dist/types/DateOnly.js +18 -0
  118. package/dist/types/DateOnly.js.map +1 -0
  119. package/dist/types/DateTime.d.ts +6 -0
  120. package/dist/types/DateTime.d.ts.map +1 -0
  121. package/dist/types/DateTime.js +18 -0
  122. package/dist/types/DateTime.js.map +1 -0
  123. package/dist/types/Decimal.d.ts +6 -0
  124. package/dist/types/Decimal.d.ts.map +1 -0
  125. package/dist/types/Decimal.js +22 -0
  126. package/dist/types/Decimal.js.map +1 -0
  127. package/dist/types/Email.d.ts +6 -0
  128. package/dist/types/Email.d.ts.map +1 -0
  129. package/dist/types/Email.js +14 -0
  130. package/dist/types/Email.js.map +1 -0
  131. package/dist/types/Geolocation.d.ts +16 -0
  132. package/dist/types/Geolocation.d.ts.map +1 -0
  133. package/dist/types/Geolocation.js +22 -0
  134. package/dist/types/Geolocation.js.map +1 -0
  135. package/dist/types/Json/Json.d.ts +81 -0
  136. package/dist/types/Json/Json.d.ts.map +1 -0
  137. package/dist/types/Json/Json.js +43 -0
  138. package/dist/types/Json/Json.js.map +1 -0
  139. package/dist/types/Json/jsonNormalizer.d.ts +4 -0
  140. package/dist/types/Json/jsonNormalizer.d.ts.map +1 -0
  141. package/dist/types/Json/jsonNormalizer.js +20 -0
  142. package/dist/types/Json/jsonNormalizer.js.map +1 -0
  143. package/dist/types/Json/jsonNormalizerWithSchemaFactory.d.ts +4 -0
  144. package/dist/types/Json/jsonNormalizerWithSchemaFactory.d.ts.map +1 -0
  145. package/dist/types/Json/jsonNormalizerWithSchemaFactory.js +161 -0
  146. package/dist/types/Json/jsonNormalizerWithSchemaFactory.js.map +1 -0
  147. package/dist/types/Json/jsonSchemaNormalizer.d.ts +3 -0
  148. package/dist/types/Json/jsonSchemaNormalizer.d.ts.map +1 -0
  149. package/dist/types/Json/jsonSchemaNormalizer.js +172 -0
  150. package/dist/types/Json/jsonSchemaNormalizer.js.map +1 -0
  151. package/dist/types/Json/jsonSchemaSatisfies.d.ts +3 -0
  152. package/dist/types/Json/jsonSchemaSatisfies.d.ts.map +1 -0
  153. package/dist/types/Json/jsonSchemaSatisfies.js +239 -0
  154. package/dist/types/Json/jsonSchemaSatisfies.js.map +1 -0
  155. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.d.ts +3 -0
  156. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.d.ts.map +1 -0
  157. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.js +221 -0
  158. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.js.map +1 -0
  159. package/dist/types/Lazily.d.ts +27 -0
  160. package/dist/types/Lazily.d.ts.map +1 -0
  161. package/dist/types/Lazily.js +31 -0
  162. package/dist/types/Lazily.js.map +1 -0
  163. package/dist/types/Normalizer.d.ts +79 -0
  164. package/dist/types/Normalizer.d.ts.map +1 -0
  165. package/dist/types/Normalizer.js +257 -0
  166. package/dist/types/Normalizer.js.map +1 -0
  167. package/dist/types/Phone.d.ts +6 -0
  168. package/dist/types/Phone.d.ts.map +1 -0
  169. package/dist/types/Phone.js +16 -0
  170. package/dist/types/Phone.js.map +1 -0
  171. package/dist/types/Slug.d.ts +6 -0
  172. package/dist/types/Slug.d.ts.map +1 -0
  173. package/dist/types/Slug.js +17 -0
  174. package/dist/types/Slug.js.map +1 -0
  175. package/dist/types/TimeOnly.d.ts +6 -0
  176. package/dist/types/TimeOnly.d.ts.map +1 -0
  177. package/dist/types/TimeOnly.js +23 -0
  178. package/dist/types/TimeOnly.js.map +1 -0
  179. package/dist/types/Url.d.ts +6 -0
  180. package/dist/types/Url.d.ts.map +1 -0
  181. package/dist/types/Url.js +17 -0
  182. package/dist/types/Url.js.map +1 -0
  183. package/dist/types/Uuid.d.ts +9 -0
  184. package/dist/types/Uuid.d.ts.map +1 -0
  185. package/dist/types/Uuid.js +17 -0
  186. package/dist/types/Uuid.js.map +1 -0
  187. package/dist/types.d.ts +29 -0
  188. package/dist/types.d.ts.map +1 -0
  189. package/dist/types.js +2 -0
  190. package/dist/types.js.map +1 -0
  191. package/package.json +63 -0
@@ -0,0 +1,151 @@
1
+ export const arrayHelpers = {
2
+ isArray: Array.isArray,
3
+ equals(firstArray, secondArray, itemsEqual = (firstItem, secondItem) => firstItem === secondItem) {
4
+ if (firstArray.length !== secondArray.length)
5
+ return false;
6
+ return firstArray.every((firstItem, index) => itemsEqual(firstItem, secondArray[index]));
7
+ },
8
+ first(array) {
9
+ return array[0];
10
+ },
11
+ last(array) {
12
+ return array[array.length - 1];
13
+ },
14
+ sortBy(array, ...propertySelectors) {
15
+ return array.sort((a, b) => {
16
+ for (let index = 0; index < propertySelectors.length; index += 1) {
17
+ const propertySelector = propertySelectors[index];
18
+ const generalPropertySelector = typeof propertySelector === 'function' ? propertySelector : (item) => item[propertySelector];
19
+ const aValue = generalPropertySelector(a);
20
+ const bValue = generalPropertySelector(b);
21
+ if (aValue > bValue)
22
+ return +1;
23
+ if (aValue < bValue)
24
+ return -1;
25
+ }
26
+ return 0;
27
+ });
28
+ },
29
+ sortByDescending(array, ...propertySelectors) {
30
+ return array.sort((a, b) => {
31
+ for (let index = 0; index < propertySelectors.length; index += 1) {
32
+ const propertySelector = propertySelectors[index];
33
+ const generalPropertySelector = typeof propertySelector === 'function' ? propertySelector : (item) => item[propertySelector];
34
+ const aValue = generalPropertySelector(a);
35
+ const bValue = generalPropertySelector(b);
36
+ if (aValue > bValue)
37
+ return -1;
38
+ if (aValue < bValue)
39
+ return +1;
40
+ }
41
+ return 0;
42
+ });
43
+ },
44
+ orderBy(array, ...propertySelectors) {
45
+ return arrayHelpers.sortBy([...array], ...propertySelectors);
46
+ },
47
+ orderByDescending(array, ...propertySelectors) {
48
+ return arrayHelpers.sortByDescending([...array], ...propertySelectors);
49
+ },
50
+ distinct(array, equalityFunction) {
51
+ if (!equalityFunction)
52
+ return array.filter(isNotDuplicatedBefore);
53
+ const result = [];
54
+ array.forEach(newItem => result.some(item => equalityFunction(item, newItem)) || result.push(newItem));
55
+ return result;
56
+ function isNotDuplicatedBefore(item, index) {
57
+ return array.indexOf(item) === index;
58
+ }
59
+ },
60
+ distinctString(array) {
61
+ const object = {};
62
+ array.forEach(item => {
63
+ object[item] = object;
64
+ });
65
+ return Object.keys(object);
66
+ },
67
+ groupBy(array, key, mapper) {
68
+ const result = {};
69
+ array.forEach((item, itemIndex, items) => {
70
+ const selector = (typeof key === 'function' ? key(item, itemIndex, items) : item[key]) ?? '';
71
+ result[selector] = result[selector] || [];
72
+ result[selector].push(item);
73
+ });
74
+ if (mapper) {
75
+ Object.keys(result).forEach(selector => {
76
+ result[selector] = mapper(result[selector], selector);
77
+ });
78
+ }
79
+ return result;
80
+ },
81
+ toDictionary(array, key, value) {
82
+ const result = {};
83
+ array.forEach((item, itemIndex, items) => {
84
+ const selector = (typeof key === 'function' ? key(item, itemIndex, items) : item[key]) ?? '';
85
+ result[selector] = !value
86
+ ? item
87
+ : typeof value === 'function'
88
+ ? value(item, selector, itemIndex, items)
89
+ : item[value];
90
+ });
91
+ return result;
92
+ },
93
+ remove(array, oldItem, count = 1) {
94
+ const index = typeof oldItem === 'function' ? array.findIndex(oldItem) : array.indexOf(oldItem);
95
+ return arrayHelpers.removeIndex(array, index, count);
96
+ },
97
+ removeIndex(array, index, count = 1) {
98
+ if (index === -1)
99
+ return [...array];
100
+ const result = [...array];
101
+ result.splice(index, count);
102
+ return result;
103
+ },
104
+ replace(array, oldItem, ...newItems) {
105
+ const index = typeof oldItem === 'function' ? array.findIndex(oldItem) : array.indexOf(oldItem);
106
+ return arrayHelpers.replaceIndex(array, index, ...newItems);
107
+ },
108
+ replaceIndex(array, index, ...newItems) {
109
+ if (index === -1)
110
+ return [...array];
111
+ const result = [...array];
112
+ result.splice(index, 1, ...newItems);
113
+ return result;
114
+ },
115
+ mapFind(array, mapper, predicate) {
116
+ for (let i = 0; i < array.length; i++) {
117
+ const item = array[i];
118
+ const mappedItem = mapper(item, i, array);
119
+ if (predicate ? predicate(mappedItem, item, i, array) : mappedItem)
120
+ return mappedItem;
121
+ }
122
+ return undefined;
123
+ },
124
+ mapFindLast(array, mapper, predicate) {
125
+ for (let i = array.length - 1; i >= 0; i--) {
126
+ const item = array[i];
127
+ const mappedItem = mapper(item, i, array);
128
+ if (predicate ? predicate(mappedItem, item, i, array) : mappedItem)
129
+ return mappedItem;
130
+ }
131
+ return undefined;
132
+ },
133
+ mapFilter(array, mapper, predicate) {
134
+ const results = [];
135
+ for (let i = 0; i < array.length; i++) {
136
+ const item = array[i];
137
+ const mappedItem = mapper(item, i, array);
138
+ if (predicate ? predicate(mappedItem, item, i, array) : mappedItem) {
139
+ results.push(mappedItem);
140
+ }
141
+ }
142
+ return results;
143
+ },
144
+ filterFalsy(array) {
145
+ return array.filter(Boolean);
146
+ },
147
+ buildTruthy(...items) {
148
+ return items.filter(Boolean);
149
+ },
150
+ };
151
+ //# sourceMappingURL=arrayHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrayHelpers.js","sourceRoot":"","sources":["../../../src/helpers/native/arrayHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { Writable } from '../../types';
2
+ interface ObjectHelpers {
3
+ keys<T>(object: T): (keyof T)[];
4
+ values<T>(object: T): T[keyof T][];
5
+ entries<T>(object: T): {
6
+ [Key in keyof T]: [key: Key, value: T[Key]];
7
+ }[keyof T][];
8
+ omit<T, K extends keyof T>(object: T, ...keys: readonly K[]): Omit<T, K>;
9
+ pick<T, K extends keyof T>(object: T, ...keys: readonly K[]): Pick<T, K>;
10
+ keyFor<T>(object: T, value: T[keyof T]): undefined | keyof T;
11
+ findKey<T>(object: T, predicate: (value: T[keyof T], key: keyof T) => any): undefined | keyof T;
12
+ onlyExisting<T>(object: T): {
13
+ [P in keyof T]-?: Exclude<T[P], undefined>;
14
+ };
15
+ diff<T>(object: T, reference: T): Partial<T>;
16
+ map<T, U>(opject: T, mapper: (key: keyof T, value: T[keyof T]) => U): Record<keyof T, U>;
17
+ mergeInto<E, T>(extension: E, objectFactory: (extension: E) => T): Omit<T, keyof E> & E;
18
+ extendBy<T, E>(object: T, extensionFactory: (object: T) => E): Omit<T, keyof E> & E;
19
+ modify<T>(object: T, modifier: (object: Writable<T>) => void | T): T;
20
+ }
21
+ export declare const objectHelpers: ObjectHelpers;
22
+ export {};
23
+ //# sourceMappingURL=objectHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectHelpers.d.ts","sourceRoot":"","sources":["../../../src/helpers/native/objectHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAa3C,UAAU,aAAa;IAErB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;IAE/B,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;IAElC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG;SAAG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;KAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;IAEjF,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAExE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,CAAA;IAC5D,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,CAAA;IAE/F,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;KAAE,CAAA;IAC1E,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAE5C,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAExF,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA;IACvF,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA;IACnF,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;CACrE;AAKD,eAAO,MAAM,aAAa,EAAE,aA+E3B,CAAA"}
@@ -0,0 +1,81 @@
1
+ const integerRegex = /^[0-9]+$/;
2
+ export const objectHelpers = {
3
+ keys(object) {
4
+ return Object.keys(object);
5
+ },
6
+ values(object) {
7
+ return Object.values(object);
8
+ },
9
+ entries(object) {
10
+ return Object.entries(object);
11
+ },
12
+ omit(object, ...keys) {
13
+ const result = { ...object };
14
+ keys.forEach(key => delete result[key]);
15
+ return result;
16
+ },
17
+ pick(object, ...keys) {
18
+ const result = {};
19
+ keys.forEach(key => key in object && (result[key] = object[key]));
20
+ return result;
21
+ },
22
+ keyFor(object, value) {
23
+ const result = Object.keys(object).find(key => object[key] === value);
24
+ if (!result)
25
+ return undefined;
26
+ const isNumericalKey = integerRegex.test(result);
27
+ if (isNumericalKey)
28
+ return Number(result);
29
+ return result;
30
+ },
31
+ findKey(object, predicate) {
32
+ const result = Object.keys(object).find(key => predicate(object[key], key));
33
+ if (!result)
34
+ return undefined;
35
+ const isNumericalKey = integerRegex.test(result);
36
+ if (isNumericalKey)
37
+ return Number(result);
38
+ return result;
39
+ },
40
+ onlyExisting(object) {
41
+ const result = {};
42
+ Object.keys(object).forEach(key => {
43
+ object[key] !== undefined && (result[key] = object[key]);
44
+ });
45
+ return result;
46
+ },
47
+ diff(object, reference) {
48
+ const result = {};
49
+ Object.keys(object).forEach(objectKey => {
50
+ if (object[objectKey] !== reference[objectKey]) {
51
+ result[objectKey] = object[objectKey];
52
+ }
53
+ });
54
+ Object.keys(reference).forEach(referenceKey => {
55
+ if (!(referenceKey in object)) {
56
+ result[referenceKey] = undefined;
57
+ }
58
+ });
59
+ return result;
60
+ },
61
+ map(object, mapper) {
62
+ const result = {};
63
+ const keys = Object.keys(object);
64
+ keys.forEach(key => {
65
+ result[key] = mapper(key, object[key]);
66
+ });
67
+ return result;
68
+ },
69
+ mergeInto(extension, objectFactory) {
70
+ return Object.assign(objectFactory(extension), extension);
71
+ },
72
+ extendBy(object, extensionFactory) {
73
+ return Object.assign(object, extensionFactory(object));
74
+ },
75
+ modify(object, modifier) {
76
+ let modifiedObject = { ...object };
77
+ modifiedObject = modifier(modifiedObject) ?? modifiedObject;
78
+ return modifiedObject;
79
+ },
80
+ };
81
+ //# sourceMappingURL=objectHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectHelpers.js","sourceRoot":"","sources":["../../../src/helpers/native/objectHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface StringHelpers {
2
+ insert(value: string, index: number, content: string): string;
3
+ remove(value: string, fromIndex: number, toIndex: number, replacement?: string): string;
4
+ indent(value: string, indentation: string): string;
5
+ }
6
+ export declare const stringHelpers: StringHelpers;
7
+ export {};
8
+ //# sourceMappingURL=stringHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringHelpers.d.ts","sourceRoot":"","sources":["../../../src/helpers/native/stringHelpers.ts"],"names":[],"mappings":"AACA,UAAU,aAAa;IAErB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IAE7D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEvF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;CACnD;AAGD,eAAO,MAAM,aAAa,EAAE,aAW3B,CAAA"}
@@ -0,0 +1,12 @@
1
+ export const stringHelpers = {
2
+ insert(value, index, content) {
3
+ return `${value.slice(0, index)}${content}${value.slice(index)}`;
4
+ },
5
+ remove(value, fromIndex, toIndex, replacement) {
6
+ return `${value.slice(0, fromIndex)}${replacement ?? ''}${value.slice(toIndex)}`;
7
+ },
8
+ indent(value, indentation) {
9
+ return `${indentation}${value.replace(/\n/g, `\n${indentation}`)}`;
10
+ },
11
+ };
12
+ //# sourceMappingURL=stringHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringHelpers.js","sourceRoot":"","sources":["../../../src/helpers/native/stringHelpers.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO;QAC1B,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAA;IAClE,CAAC;IACD,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW;QAC3C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,WAAW,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;IAClF,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,WAAW;QACvB,OAAO,GAAG,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,WAAW,EAAE,CAAC,EAAE,CAAA;IACpE,CAAC;CACF,CAAA"}
@@ -0,0 +1,10 @@
1
+ export declare function optional<T>(value: T): T | undefined;
2
+ export declare namespace optional {
3
+ function array<T extends readonly any[]>(value: T): readonly (T[number] | undefined)[];
4
+ function object<T extends {
5
+ readonly [key: string]: any;
6
+ }>(value: T): {
7
+ readonly [K in keyof T]?: T[K];
8
+ };
9
+ }
10
+ //# sourceMappingURL=optional.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../../src/helpers/optional.ts"],"names":[],"mappings":"AACA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAEnD;AAED,yBAAiB,QAAQ,CAAC;IAExB,SAAgB,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAE5F;IAGD,SAAgB,MAAM,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,KAAK,EAAE,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAAE,CAE9G;CACF"}
@@ -0,0 +1,14 @@
1
+ export function optional(value) {
2
+ return value;
3
+ }
4
+ (function (optional) {
5
+ function array(value) {
6
+ return value;
7
+ }
8
+ optional.array = array;
9
+ function object(value) {
10
+ return value;
11
+ }
12
+ optional.object = object;
13
+ })(optional || (optional = {}));
14
+ //# sourceMappingURL=optional.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../src/helpers/optional.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,QAAQ,CAAI,KAAQ;IAClC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,WAAiB,QAAQ;IAEvB,SAAgB,KAAK,CAA2B,KAAQ;QACtD,OAAO,KAAK,CAAA;IACd,CAAC;IAFe,cAAK,QAEpB,CAAA;IAGD,SAAgB,MAAM,CAA4C,KAAQ;QACxE,OAAO,KAAK,CAAA;IACd,CAAC;IAFe,eAAM,SAErB,CAAA;AACH,CAAC,EAVgB,QAAQ,KAAR,QAAQ,QAUxB"}
@@ -0,0 +1,5 @@
1
+ export declare function percent(value: number, total?: number, fractionalDigits?: number): number;
2
+ export declare namespace percent {
3
+ function formatted(...parameters: Parameters<typeof percent>): string;
4
+ }
5
+ //# sourceMappingURL=percent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"percent.d.ts","sourceRoot":"","sources":["../../src/helpers/percent.ts"],"names":[],"mappings":"AACA,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,gBAAgB,SAAI,GAAG,MAAM,CAQ9E;AAED,yBAAiB,OAAO,CAAC;IAEvB,SAAgB,SAAS,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,GAAG,MAAM,CAE3E;CACF"}
@@ -0,0 +1,17 @@
1
+ export function percent(value, total = 1, fractionalDigits = 0) {
2
+ if (Number.isNaN(value) || Number.isNaN(total) || Number.isNaN(fractionalDigits))
3
+ return 0;
4
+ if (total <= 0)
5
+ return 0;
6
+ const rawPercent = (100 * value) / total;
7
+ const roundingMultiplier = 10 ** fractionalDigits;
8
+ const roundedPercent = Math.round(rawPercent * roundingMultiplier) / roundingMultiplier;
9
+ return roundedPercent;
10
+ }
11
+ (function (percent) {
12
+ function formatted(...parameters) {
13
+ return `%${percent(...parameters)}`;
14
+ }
15
+ percent.formatted = formatted;
16
+ })(percent || (percent = {}));
17
+ //# sourceMappingURL=percent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"percent.js","sourceRoot":"","sources":["../../src/helpers/percent.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,KAAK,GAAG,CAAC,EAAE,gBAAgB,GAAG,CAAC;IACpE,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAAE,OAAO,CAAC,CAAA;IAC1F,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IAExB,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;IACxC,MAAM,kBAAkB,GAAG,EAAE,IAAI,gBAAgB,CAAA;IACjD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,kBAAkB,CAAC,GAAG,kBAAkB,CAAA;IACvF,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,WAAiB,OAAO;IAEtB,SAAgB,SAAS,CAAC,GAAG,UAAsC;QACjE,OAAO,IAAI,OAAO,CAAC,GAAG,UAAU,CAAC,EAAE,CAAA;IACrC,CAAC;IAFe,iBAAS,YAExB,CAAA;AACH,CAAC,EALgB,OAAO,KAAP,OAAO,QAKvB"}
@@ -0,0 +1,2 @@
1
+ export declare function typed<T>(value: T): T;
2
+ //# sourceMappingURL=typed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../../src/helpers/typed.ts"],"names":[],"mappings":"AAmBA,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEpC"}
@@ -0,0 +1,4 @@
1
+ export function typed(value) {
2
+ return value;
3
+ }
4
+ //# sourceMappingURL=typed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed.js","sourceRoot":"","sources":["../../src/helpers/typed.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,KAAK,CAAI,KAAQ;IAC/B,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,42 @@
1
+ export * from './helpers/error-warning/alterError';
2
+ export * from './helpers/error-warning/combineMessages';
3
+ export * from './helpers/error-warning/getErrorMessage';
4
+ export * from './helpers/error-warning/prependMessage';
5
+ export * from './helpers/error-warning/throwError';
6
+ export * from './helpers/native/arrayHelpers';
7
+ export * from './helpers/native/objectHelpers';
8
+ export * from './helpers/native/stringHelpers';
9
+ export * from './helpers/deepClone';
10
+ export * from './helpers/delay';
11
+ export * from './helpers/escapeForRegExp';
12
+ export * from './helpers/formatCurrencyUsd';
13
+ export * from './helpers/generateRandomKey';
14
+ export * from './helpers/generateRuntimeId';
15
+ export * from './helpers/generateSequence';
16
+ export * from './helpers/getEnumKeyValues';
17
+ export * from './helpers/haveSameContents';
18
+ export * from './helpers/isOneOf';
19
+ export * from './helpers/optional';
20
+ export * from './helpers/percent';
21
+ export * from './helpers/typed';
22
+ export * from './modules/common-normalizers/descriptionNormalizer';
23
+ export * from './modules/common-normalizers/labelNormalizer';
24
+ export * from './modules/common-normalizers/nameNormalizer';
25
+ export * from './modules/common-normalizers/widthHeightNormalizer';
26
+ export * from './types';
27
+ export * from './types/Address';
28
+ export * from './types/Color';
29
+ export * from './types/DateOnly';
30
+ export * from './types/DateTime';
31
+ export * from './types/Decimal';
32
+ export * from './types/Email';
33
+ export * from './types/Geolocation';
34
+ export * from './types/Json/Json';
35
+ export * from './types/Lazily';
36
+ export * from './types/Normalizer';
37
+ export * from './types/Phone';
38
+ export * from './types/Slug';
39
+ export * from './types/TimeOnly';
40
+ export * from './types/Url';
41
+ export * from './types/Uuid';
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,oCAAoC,CAAA;AAElD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAE9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,oDAAoD,CAAA;AAClE,cAAc,8CAA8C,CAAA;AAC5D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,oDAAoD,CAAA;AAElE,cAAc,SAAS,CAAA;AAEvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,42 @@
1
+ export * from './helpers/error-warning/alterError';
2
+ export * from './helpers/error-warning/combineMessages';
3
+ export * from './helpers/error-warning/getErrorMessage';
4
+ export * from './helpers/error-warning/prependMessage';
5
+ export * from './helpers/error-warning/throwError';
6
+ export * from './helpers/native/arrayHelpers';
7
+ export * from './helpers/native/objectHelpers';
8
+ export * from './helpers/native/stringHelpers';
9
+ export * from './helpers/deepClone';
10
+ export * from './helpers/delay';
11
+ export * from './helpers/escapeForRegExp';
12
+ export * from './helpers/formatCurrencyUsd';
13
+ export * from './helpers/generateRandomKey';
14
+ export * from './helpers/generateRuntimeId';
15
+ export * from './helpers/generateSequence';
16
+ export * from './helpers/getEnumKeyValues';
17
+ export * from './helpers/haveSameContents';
18
+ export * from './helpers/isOneOf';
19
+ export * from './helpers/optional';
20
+ export * from './helpers/percent';
21
+ export * from './helpers/typed';
22
+ export * from './modules/common-normalizers/descriptionNormalizer';
23
+ export * from './modules/common-normalizers/labelNormalizer';
24
+ export * from './modules/common-normalizers/nameNormalizer';
25
+ export * from './modules/common-normalizers/widthHeightNormalizer';
26
+ export * from './types';
27
+ export * from './types/Address';
28
+ export * from './types/Color';
29
+ export * from './types/DateOnly';
30
+ export * from './types/DateTime';
31
+ export * from './types/Decimal';
32
+ export * from './types/Email';
33
+ export * from './types/Geolocation';
34
+ export * from './types/Json/Json';
35
+ export * from './types/Lazily';
36
+ export * from './types/Normalizer';
37
+ export * from './types/Phone';
38
+ export * from './types/Slug';
39
+ export * from './types/TimeOnly';
40
+ export * from './types/Url';
41
+ export * from './types/Uuid';
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,oCAAoC,CAAA;AAElD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAE9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,oDAAoD,CAAA;AAClE,cAAc,8CAA8C,CAAA;AAC5D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,oDAAoD,CAAA;AAElE,cAAc,SAAS,CAAA;AAEvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Normalizer } from '../../types/Normalizer';
2
+ export declare const descriptionNormalizer: Normalizer<string | null>;
3
+ //# sourceMappingURL=descriptionNormalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptionNormalizer.d.ts","sourceRoot":"","sources":["../../../src/modules/common-normalizers/descriptionNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,eAAO,MAAM,qBAAqB,2BAAwE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Normalizer } from '../../types/Normalizer';
2
+ export const descriptionNormalizer = Normalizer.stringTrimmed.chain(Normalizer.stringLimitLength(0, 1000));
3
+ //# sourceMappingURL=descriptionNormalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptionNormalizer.js","sourceRoot":"","sources":["../../../src/modules/common-normalizers/descriptionNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Normalizer } from '../../types/Normalizer';
2
+ export declare const labelNormalizer: Normalizer<string | null>;
3
+ //# sourceMappingURL=labelNormalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labelNormalizer.d.ts","sourceRoot":"","sources":["../../../src/modules/common-normalizers/labelNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,eAAO,MAAM,eAAe,2BAAuE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Normalizer } from '../../types/Normalizer';
2
+ export const labelNormalizer = Normalizer.stringTrimmed.chain(Normalizer.stringLimitLength(1, 255));
3
+ //# sourceMappingURL=labelNormalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labelNormalizer.js","sourceRoot":"","sources":["../../../src/modules/common-normalizers/labelNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const nameNormalizer: import("../..").Normalizer<string | null>;
2
+ //# sourceMappingURL=nameNormalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nameNormalizer.d.ts","sourceRoot":"","sources":["../../../src/modules/common-normalizers/nameNormalizer.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,2CAAkB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { labelNormalizer } from './labelNormalizer';
2
+ export const nameNormalizer = labelNormalizer;
3
+ //# sourceMappingURL=nameNormalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nameNormalizer.js","sourceRoot":"","sources":["../../../src/modules/common-normalizers/nameNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Normalizer } from '../../types/Normalizer';
2
+ export declare const widthHeightNormalizer: Normalizer<number | null>;
3
+ //# sourceMappingURL=widthHeightNormalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widthHeightNormalizer.d.ts","sourceRoot":"","sources":["../../../src/modules/common-normalizers/widthHeightNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,eAAO,MAAM,qBAAqB,2BAAoF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Normalizer } from '../../types/Normalizer';
2
+ export const widthHeightNormalizer = Normalizer.number.chain(Normalizer.numberLimitRange(0, Number.POSITIVE_INFINITY));
3
+ //# sourceMappingURL=widthHeightNormalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widthHeightNormalizer.js","sourceRoot":"","sources":["../../../src/modules/common-normalizers/widthHeightNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { Normalizer } from './Normalizer';
2
+ export interface Address {
3
+ readonly lines: readonly string[];
4
+ readonly city: string;
5
+ readonly state?: string;
6
+ readonly postalCode?: string;
7
+ readonly country: string;
8
+ readonly formatted?: string;
9
+ readonly latitude?: number;
10
+ readonly longitude?: number;
11
+ readonly timezone?: string;
12
+ }
13
+ export declare namespace Address {
14
+ const normalizer: Normalizer<Address | null>;
15
+ }
16
+ //# sourceMappingURL=Address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../../src/types/Address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,yBAAiB,OAAO,CAAC;IAChB,MAAM,UAAU,4BA4BnB,CAAA;CACL"}
@@ -0,0 +1,34 @@
1
+ import { Normalizer } from './Normalizer';
2
+ export var Address;
3
+ (function (Address) {
4
+ Address.normalizer = Normalizer.object
5
+ .chain(Normalizer.objectRequireKeys('lines', 'city', 'country'))
6
+ .chain((value, warn) => {
7
+ if (!value)
8
+ return null;
9
+ return Normalizer.Normalized.combine({
10
+ lines: Normalizer.array
11
+ .chain((value, warn) => {
12
+ if (value.length === 0)
13
+ throw new Error('At least one address line is required.');
14
+ if (value.length > 3)
15
+ throw new Error('At most three address lines are allowed.');
16
+ return Normalizer.Normalized.combine(value.map(line => Normalizer.string.required.normalize(line)), value.map((line, lineIndex) => `line${lineIndex + 1}`)).getValue(warn);
17
+ })
18
+ .normalize(value.lines),
19
+ city: Normalizer.string.required.normalize(value.city),
20
+ state: Normalizer.string.required.normalize(value.state ?? null),
21
+ postalCode: Normalizer.string.required.normalize(value.postalCode ?? null),
22
+ country: Normalizer.string.required.normalize(value.country),
23
+ formatted: Normalizer.string.required.normalize(value.formatted ?? null),
24
+ latitude: Normalizer.number
25
+ .chain(Normalizer.numberLimitRange(-90, 90))
26
+ .required.normalize(value.latitude ?? null),
27
+ longitude: Normalizer.number
28
+ .chain(Normalizer.numberLimitRange(-180, 180))
29
+ .required.normalize(value.longitude ?? null),
30
+ timezone: Normalizer.string.required.normalize(value.timezone ?? null),
31
+ }).getValue(warn);
32
+ });
33
+ })(Address || (Address = {}));
34
+ //# sourceMappingURL=Address.js.map