@vpmedia/simplify 1.74.0 → 1.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 (217) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/const/http_status.d.ts +66 -0
  3. package/dist/const/http_status.d.ts.map +1 -0
  4. package/dist/const/http_status.js +133 -0
  5. package/dist/const/http_status.js.map +1 -0
  6. package/dist/index.d.ts +34 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/{src → dist}/index.js +3 -20
  9. package/dist/index.js.map +1 -0
  10. package/dist/logging/AbstractLogHandler.d.ts +17 -0
  11. package/dist/logging/AbstractLogHandler.d.ts.map +1 -0
  12. package/dist/logging/AbstractLogHandler.js +16 -0
  13. package/dist/logging/AbstractLogHandler.js.map +1 -0
  14. package/dist/logging/ConsoleLogHandler.d.ts +13 -0
  15. package/dist/logging/ConsoleLogHandler.d.ts.map +1 -0
  16. package/dist/logging/ConsoleLogHandler.js +41 -0
  17. package/dist/logging/ConsoleLogHandler.js.map +1 -0
  18. package/dist/logging/Logger.d.ts +19 -0
  19. package/dist/logging/Logger.d.ts.map +1 -0
  20. package/dist/logging/Logger.js +51 -0
  21. package/dist/logging/Logger.js.map +1 -0
  22. package/dist/logging/OpenTelemetryLogHandler.d.ts +15 -0
  23. package/dist/logging/OpenTelemetryLogHandler.d.ts.map +1 -0
  24. package/dist/logging/OpenTelemetryLogHandler.js +21 -0
  25. package/dist/logging/OpenTelemetryLogHandler.js.map +1 -0
  26. package/dist/logging/SentryLogHandler.d.ts +13 -0
  27. package/dist/logging/SentryLogHandler.d.ts.map +1 -0
  28. package/dist/logging/SentryLogHandler.js +36 -0
  29. package/dist/logging/SentryLogHandler.js.map +1 -0
  30. package/dist/logging/const.d.ts +14 -0
  31. package/dist/logging/const.d.ts.map +1 -0
  32. package/dist/logging/const.js +21 -0
  33. package/dist/logging/const.js.map +1 -0
  34. package/dist/logging/util.d.ts +14 -0
  35. package/dist/logging/util.d.ts.map +1 -0
  36. package/dist/logging/util.js +34 -0
  37. package/dist/logging/util.js.map +1 -0
  38. package/dist/pagelifecycle/const.d.ts +15 -0
  39. package/dist/pagelifecycle/const.d.ts.map +1 -0
  40. package/dist/pagelifecycle/const.js +27 -0
  41. package/dist/pagelifecycle/const.js.map +1 -0
  42. package/dist/pagelifecycle/typedef.d.ts +4 -0
  43. package/dist/pagelifecycle/typedef.d.ts.map +1 -0
  44. package/dist/pagelifecycle/typedef.js +2 -0
  45. package/dist/pagelifecycle/typedef.js.map +1 -0
  46. package/dist/pagelifecycle/util.d.ts +31 -0
  47. package/dist/pagelifecycle/util.d.ts.map +1 -0
  48. package/dist/pagelifecycle/util.js +117 -0
  49. package/dist/pagelifecycle/util.js.map +1 -0
  50. package/dist/typecheck/TypeCheckError.d.ts +11 -0
  51. package/dist/typecheck/TypeCheckError.d.ts.map +1 -0
  52. package/dist/typecheck/TypeCheckError.js +12 -0
  53. package/dist/typecheck/TypeCheckError.js.map +1 -0
  54. package/dist/typecheck/TypeChecker.d.ts +27 -0
  55. package/dist/typecheck/TypeChecker.d.ts.map +1 -0
  56. package/dist/typecheck/TypeChecker.js +69 -0
  57. package/dist/typecheck/TypeChecker.js.map +1 -0
  58. package/dist/typecheck/util.d.ts +17 -0
  59. package/dist/typecheck/util.d.ts.map +1 -0
  60. package/dist/typecheck/util.js +42 -0
  61. package/dist/typecheck/util.js.map +1 -0
  62. package/dist/util/async.d.ts +13 -0
  63. package/dist/util/async.d.ts.map +1 -0
  64. package/dist/util/async.js +39 -0
  65. package/dist/util/async.js.map +1 -0
  66. package/dist/util/error.d.ts +16 -0
  67. package/dist/util/error.d.ts.map +1 -0
  68. package/dist/util/error.js +27 -0
  69. package/dist/util/error.js.map +1 -0
  70. package/dist/util/event_emitter.d.ts +42 -0
  71. package/dist/util/event_emitter.d.ts.map +1 -0
  72. package/dist/util/event_emitter.js +127 -0
  73. package/dist/util/event_emitter.js.map +1 -0
  74. package/dist/util/fetch.d.ts +22 -0
  75. package/dist/util/fetch.d.ts.map +1 -0
  76. package/dist/util/fetch.js +75 -0
  77. package/dist/util/fetch.js.map +1 -0
  78. package/dist/util/number.d.ts +23 -0
  79. package/dist/util/number.d.ts.map +1 -0
  80. package/dist/util/number.js +52 -0
  81. package/dist/util/number.js.map +1 -0
  82. package/dist/util/object.d.ts +24 -0
  83. package/dist/util/object.d.ts.map +1 -0
  84. package/dist/util/object.js +83 -0
  85. package/dist/util/object.js.map +1 -0
  86. package/dist/util/query.d.ts +11 -0
  87. package/dist/util/query.d.ts.map +1 -0
  88. package/dist/util/query.js +24 -0
  89. package/dist/util/query.js.map +1 -0
  90. package/dist/util/state.d.ts +5 -0
  91. package/dist/util/state.d.ts.map +1 -0
  92. package/dist/util/state.js +19 -0
  93. package/dist/util/state.js.map +1 -0
  94. package/dist/util/string.d.ts +25 -0
  95. package/dist/util/string.d.ts.map +1 -0
  96. package/dist/util/string.js +59 -0
  97. package/dist/util/string.js.map +1 -0
  98. package/dist/util/uuid.d.ts +13 -0
  99. package/dist/util/uuid.d.ts.map +1 -0
  100. package/dist/util/uuid.js +27 -0
  101. package/dist/util/uuid.js.map +1 -0
  102. package/dist/util/validate.d.ts +106 -0
  103. package/dist/util/validate.d.ts.map +1 -0
  104. package/dist/util/validate.js +139 -0
  105. package/dist/util/validate.js.map +1 -0
  106. package/package.json +31 -16
  107. package/src/const/http_status.test.ts +7 -0
  108. package/src/const/{http_status.js → http_status.ts} +1 -1
  109. package/src/index.ts +51 -0
  110. package/src/logging/AbstractLogHandler.ts +31 -0
  111. package/src/logging/{ConsoleLogHandler.js → ConsoleLogHandler.ts} +15 -13
  112. package/src/logging/Logger.test.ts +69 -0
  113. package/src/logging/Logger.ts +77 -0
  114. package/src/logging/OpenTelemetryLogHandler.ts +40 -0
  115. package/src/logging/SentryLogHandler.ts +44 -0
  116. package/src/logging/{const.js → const.ts} +1 -1
  117. package/src/logging/util.test.ts +33 -0
  118. package/src/logging/util.ts +36 -0
  119. package/src/pagelifecycle/{const.js → const.ts} +2 -2
  120. package/src/pagelifecycle/typedef.ts +5 -0
  121. package/src/pagelifecycle/util.test.ts +99 -0
  122. package/src/pagelifecycle/{util.js → util.ts} +14 -27
  123. package/src/typecheck/{TypeCheckError.js → TypeCheckError.ts} +7 -3
  124. package/src/typecheck/TypeChecker.test.ts +70 -0
  125. package/src/typecheck/{TypeChecker.js → TypeChecker.ts} +10 -27
  126. package/src/typecheck/util.test.ts +36 -0
  127. package/src/typecheck/util.ts +50 -0
  128. package/src/util/async.test.ts +74 -0
  129. package/src/util/{async.js → async.ts} +3 -12
  130. package/src/util/error.test.ts +32 -0
  131. package/src/util/error.ts +37 -0
  132. package/src/util/event_emitter.test.ts +228 -0
  133. package/src/util/event_emitter.ts +147 -0
  134. package/src/util/fetch.test.ts +62 -0
  135. package/src/util/{fetch.js → fetch.ts} +40 -31
  136. package/src/util/number.test.ts +124 -0
  137. package/src/util/number.ts +58 -0
  138. package/src/util/object.test.ts +203 -0
  139. package/src/util/{object.js → object.ts} +14 -21
  140. package/src/util/query.test.ts +71 -0
  141. package/src/util/query.ts +35 -0
  142. package/src/util/state.test.ts +47 -0
  143. package/src/util/{state.js → state.ts} +3 -6
  144. package/src/util/string.test.ts +64 -0
  145. package/src/util/string.ts +65 -0
  146. package/src/util/uuid.test.ts +53 -0
  147. package/src/util/uuid.ts +31 -0
  148. package/src/util/validate.test.ts +309 -0
  149. package/src/util/validate.ts +230 -0
  150. package/.vscode/extensions.json +0 -6
  151. package/.vscode/settings.json +0 -27
  152. package/src/logging/AbstractLogHandler.js +0 -23
  153. package/src/logging/Logger.js +0 -115
  154. package/src/logging/OpenTelemetryLogHandler.js +0 -30
  155. package/src/logging/SentryLogHandler.js +0 -46
  156. package/src/logging/util.js +0 -41
  157. package/src/pagelifecycle/typedef.js +0 -9
  158. package/src/typecheck/util.js +0 -60
  159. package/src/util/error.js +0 -33
  160. package/src/util/event_emitter.js +0 -196
  161. package/src/util/number.js +0 -118
  162. package/src/util/query.js +0 -32
  163. package/src/util/string.js +0 -76
  164. package/src/util/uuid.js +0 -35
  165. package/src/util/validate.js +0 -247
  166. package/types/const/http_status.d.ts +0 -131
  167. package/types/const/http_status.d.ts.map +0 -1
  168. package/types/index.d.ts +0 -26
  169. package/types/index.d.ts.map +0 -1
  170. package/types/logging/AbstractLogHandler.d.ts +0 -20
  171. package/types/logging/AbstractLogHandler.d.ts.map +0 -1
  172. package/types/logging/ConsoleLogHandler.d.ts +0 -9
  173. package/types/logging/ConsoleLogHandler.d.ts.map +0 -1
  174. package/types/logging/Logger.d.ts +0 -66
  175. package/types/logging/Logger.d.ts.map +0 -1
  176. package/types/logging/OpenTelemetryLogHandler.d.ts +0 -11
  177. package/types/logging/OpenTelemetryLogHandler.d.ts.map +0 -1
  178. package/types/logging/SentryLogHandler.d.ts +0 -9
  179. package/types/logging/SentryLogHandler.d.ts.map +0 -1
  180. package/types/logging/const.d.ts +0 -14
  181. package/types/logging/const.d.ts.map +0 -1
  182. package/types/logging/util.d.ts +0 -4
  183. package/types/logging/util.d.ts.map +0 -1
  184. package/types/pagelifecycle/const.d.ts +0 -15
  185. package/types/pagelifecycle/const.d.ts.map +0 -1
  186. package/types/pagelifecycle/typedef.d.ts +0 -4
  187. package/types/pagelifecycle/typedef.d.ts.map +0 -1
  188. package/types/pagelifecycle/util.d.ts +0 -8
  189. package/types/pagelifecycle/util.d.ts.map +0 -1
  190. package/types/typecheck/TypeCheckError.d.ts +0 -13
  191. package/types/typecheck/TypeCheckError.d.ts.map +0 -1
  192. package/types/typecheck/TypeChecker.d.ts +0 -40
  193. package/types/typecheck/TypeChecker.d.ts.map +0 -1
  194. package/types/typecheck/util.d.ts +0 -4
  195. package/types/typecheck/util.d.ts.map +0 -1
  196. package/types/util/async.d.ts +0 -4
  197. package/types/util/async.d.ts.map +0 -1
  198. package/types/util/error.d.ts +0 -3
  199. package/types/util/error.d.ts.map +0 -1
  200. package/types/util/event_emitter.d.ts +0 -69
  201. package/types/util/event_emitter.d.ts.map +0 -1
  202. package/types/util/fetch.d.ts +0 -22
  203. package/types/util/fetch.d.ts.map +0 -1
  204. package/types/util/number.d.ts +0 -11
  205. package/types/util/number.d.ts.map +0 -1
  206. package/types/util/object.d.ts +0 -6
  207. package/types/util/object.d.ts.map +0 -1
  208. package/types/util/query.d.ts +0 -3
  209. package/types/util/query.d.ts.map +0 -1
  210. package/types/util/state.d.ts +0 -2
  211. package/types/util/state.d.ts.map +0 -1
  212. package/types/util/string.d.ts +0 -7
  213. package/types/util/string.d.ts.map +0 -1
  214. package/types/util/uuid.d.ts +0 -4
  215. package/types/util/uuid.d.ts.map +0 -1
  216. package/types/util/validate.d.ts +0 -45
  217. package/types/util/validate.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/util/state.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,OAAO,EAAE,qBAAmB,KAAG,GAetE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { underscoreToCamelCase } from './string.js';
2
+ /**
3
+ * Maps server data to client data.
4
+ */
5
+ export const serverDataToState = (data, isRecursive = false) => {
6
+ if (Array.isArray(data)) {
7
+ return data.map((entry) => serverDataToState(entry, isRecursive));
8
+ }
9
+ if (data !== null && typeof data === 'object') {
10
+ const result = {};
11
+ for (const [key, value] of Object.entries(data)) {
12
+ const clientKey = underscoreToCamelCase(key);
13
+ result[clientKey] = isRecursive ? serverDataToState(value, isRecursive) : value;
14
+ }
15
+ return result;
16
+ }
17
+ return data;
18
+ };
19
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/util/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAE,WAAW,GAAG,KAAK,EAAO,EAAE;IAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Add leading zeros to a value to ensure it has a minimum width.
3
+ */
4
+ export declare const addLeadingZero: (value: number | string | null | undefined, size?: number) => string | null;
5
+ /**
6
+ * Capitalize a string.
7
+ */
8
+ export declare const capitalize: (value: string | null | undefined) => string | null;
9
+ /**
10
+ * Converts underscore case string to camel case.
11
+ */
12
+ export declare const underscoreToCamelCase: (value: string) => string;
13
+ /**
14
+ * Saves text file.
15
+ */
16
+ export declare const saveAsFile: (filename: string, text: string) => void;
17
+ /**
18
+ * Get type from value in human readable format.
19
+ */
20
+ export declare const getTypeFromValue: (value: unknown) => string;
21
+ /**
22
+ * Get value in human readable format.
23
+ */
24
+ export declare const getDisplayValue: (value: unknown) => string;
25
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/util/string.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,aAAQ,KAAG,MAAM,GAAG,IAS7F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAM,GAAG,IAStE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,MACG,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,IAQ3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,MACgB,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,MAQhD,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Add leading zeros to a value to ensure it has a minimum width.
3
+ */
4
+ export const addLeadingZero = (value, size = 2) => {
5
+ if (value === null || value === undefined) {
6
+ return null;
7
+ }
8
+ let str = value.toString();
9
+ while (str.length < size) {
10
+ str = `0${str}`;
11
+ }
12
+ return str;
13
+ };
14
+ /**
15
+ * Capitalize a string.
16
+ */
17
+ export const capitalize = (value) => {
18
+ if (value === null || value === undefined) {
19
+ return null;
20
+ }
21
+ if (!value || value.length === 0) {
22
+ return value;
23
+ }
24
+ const normValue = value.toLowerCase();
25
+ return normValue.charAt(0).toUpperCase() + normValue.slice(1);
26
+ };
27
+ /**
28
+ * Converts underscore case string to camel case.
29
+ */
30
+ export const underscoreToCamelCase = (value) => value.replaceAll(/(_\w)/gu, (m) => m[1].toUpperCase());
31
+ /**
32
+ * Saves text file.
33
+ */
34
+ export const saveAsFile = (filename, text) => {
35
+ const element = document.createElement('a');
36
+ element.setAttribute('href', `data:text/plain;charset=utf-8,${encodeURIComponent(text)}`);
37
+ element.setAttribute('download', filename);
38
+ element.style.display = 'none';
39
+ document.body.append(element);
40
+ element.click();
41
+ element.remove();
42
+ };
43
+ /**
44
+ * Get type from value in human readable format.
45
+ */
46
+ export const getTypeFromValue = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase();
47
+ /**
48
+ * Get value in human readable format.
49
+ */
50
+ export const getDisplayValue = (value) => {
51
+ if (typeof value === 'string') {
52
+ return `"${value}"`;
53
+ }
54
+ if (typeof value === 'object') {
55
+ return JSON.stringify(value);
56
+ }
57
+ return String(value);
58
+ };
59
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/util/string.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAyC,EAAE,IAAI,GAAG,CAAC,EAAiB,EAAE;IACnG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3B,OAAO,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QACzB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAgC,EAAiB,EAAE;IAC5E,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAU,EAAE,CAC7D,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,IAAY,EAAQ,EAAE;IACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1F,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,MAAM,EAAE,CAAC;AACnB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAU,EAAE,CACzD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,GAAG,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Convert a byte (0–255) to a 2-character hex string.
3
+ */
4
+ export declare const byteToHex: (byte: number) => string;
5
+ /**
6
+ * UUIDv4 fallback generator (RFC 4122 compliant).
7
+ */
8
+ export declare const randomUUIDFallback: () => string;
9
+ /**
10
+ * Crypto UUIDv4 wrapper with fallback.
11
+ */
12
+ export declare const uuidv4: () => string;
13
+ //# sourceMappingURL=uuid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/util/uuid.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAAkE,CAAC;AAE5G;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAgBrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,QAAO,MAC4D,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Convert a byte (0–255) to a 2-character hex string.
3
+ */
4
+ export const byteToHex = (byte) => (byte >>> 4).toString(16) + (byte & 0b1111).toString(16);
5
+ /**
6
+ * UUIDv4 fallback generator (RFC 4122 compliant).
7
+ */
8
+ export const randomUUIDFallback = () => {
9
+ const bytes = crypto.getRandomValues
10
+ ? crypto.getRandomValues(new Uint8Array(16))
11
+ : Array.from({ length: 16 }, () => Math.floor(Math.random() * 256));
12
+ bytes[6] = (bytes[6] & 0x0f) | 0x40;
13
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
14
+ let uuid = '';
15
+ for (let index = 0; index < bytes.length; index += 1) {
16
+ if (index === 4 || index === 6 || index === 8 || index === 10) {
17
+ uuid += '-';
18
+ }
19
+ uuid += byteToHex(bytes[index]);
20
+ }
21
+ return uuid;
22
+ };
23
+ /**
24
+ * Crypto UUIDv4 wrapper with fallback.
25
+ */
26
+ export const uuidv4 = () => typeof crypto.randomUUID === 'function' ? crypto.randomUUID() : randomUUIDFallback();
27
+ //# sourceMappingURL=uuid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../src/util/uuid.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAE5G;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE;IAC7C,MAAM,KAAK,GAA0B,MAAM,CAAC,eAAe;QACzD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAEtE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAErC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC9D,IAAI,IAAI,GAAG,CAAC;QACd,CAAC;QACD,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE,CACjC,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,106 @@
1
+ export type Validator<T> = (value: unknown) => value is T;
2
+ /**
3
+ * Validates `value` as `boolean`.
4
+ */
5
+ export declare const isBoolean: (value: unknown) => value is boolean;
6
+ /**
7
+ * Validates `value` as `number`.
8
+ */
9
+ export declare const isNumber: (value: unknown) => value is number;
10
+ /**
11
+ * Validates `value` as positive `number`.
12
+ */
13
+ export declare const isPositiveNumber: (value: unknown) => value is number;
14
+ /**
15
+ * Validates `value` as non-negative `number`.
16
+ */
17
+ export declare const isNonNegativeNumber: (value: unknown) => value is number;
18
+ /**
19
+ * Validates `value` as `integer`.
20
+ */
21
+ export declare const isInteger: (value: unknown) => value is number;
22
+ /**
23
+ * Validates `value` as positive `integer`.
24
+ */
25
+ export declare const isPositiveInteger: (value: unknown) => value is number;
26
+ /**
27
+ * Validates `value` as non-negative `integer`.
28
+ */
29
+ export declare const isNonNegativeInteger: (value: unknown) => value is number;
30
+ /**
31
+ * Validates `value` as `string`.
32
+ */
33
+ export declare const isString: (value: unknown) => value is string;
34
+ /**
35
+ * Validates `value` as `array`.
36
+ */
37
+ export declare const isArray: <T = unknown>(value: unknown) => value is T[];
38
+ /**
39
+ * Validates `value` as `null`.
40
+ */
41
+ export declare const isNull: (value: unknown) => value is null;
42
+ /**
43
+ * Validates `value` as `undefined`.
44
+ */
45
+ export declare const isUndefined: (value: unknown) => value is undefined;
46
+ /**
47
+ * Validates `value` as `null` or `undefined`.
48
+ */
49
+ export declare const isNullOrUndefined: (value: unknown) => value is null | undefined;
50
+ /**
51
+ * Validates `value` as plain `object`.
52
+ */
53
+ export declare const isPlainObject: (value: unknown) => value is Record<string, unknown>;
54
+ /**
55
+ * Validates `value` as `function`.
56
+ */
57
+ export declare const isFunction: (value: unknown) => value is (...args: any[]) => any;
58
+ /**
59
+ * Validates `value` as `type`.
60
+ */
61
+ export declare const isInstance: <T>(value: unknown, type: new (...args: any[]) => T) => value is T;
62
+ /**
63
+ * Validates `value` as `enum`.
64
+ */
65
+ export declare const isEnum: (value: unknown, choices: ReadonlyArray<string | number> | ReadonlySet<string | number> | Readonly<Record<string | number, string | number>> | null | undefined) => boolean;
66
+ /**
67
+ * Type check an array of values using a validator.
68
+ */
69
+ export declare const isArrayOf: <T>(values: unknown, validator: Validator<T>) => values is T[];
70
+ /**
71
+ * Type check a plain object of values using a validator.
72
+ */
73
+ export declare const isPlainObjectOf: <T>(record: unknown, validator: Validator<T>) => record is Record<string | number, T>;
74
+ /**
75
+ * Refine a base validator with an extra condition.
76
+ */
77
+ export declare const refineValidator: <T>(base: Validator<T>, predicate: (value: T) => boolean, name?: string | null) => Validator<T>;
78
+ /**
79
+ * Logical OR of two validators.
80
+ */
81
+ export declare const isAnyOf: <A, B>(a: Validator<A>, b: Validator<B>) => Validator<A | B>;
82
+ export declare const isNumberGreater: (min: number) => Validator<number>;
83
+ export declare const isNumberGreaterOrEqual: (min: number) => Validator<number>;
84
+ export declare const isNumberLess: (min: number) => Validator<number>;
85
+ export declare const isNumberLessOrEqual: (min: number) => Validator<number>;
86
+ export declare const isNumberInRange: (min: number, max: number) => Validator<number>;
87
+ export declare const isNumberEqual: (expected: number) => Validator<number>;
88
+ export declare const isIntegerGreater: (min: number) => Validator<number>;
89
+ export declare const isIntegerGreaterOrEqual: (min: number) => Validator<number>;
90
+ export declare const isIntegerLess: (min: number) => Validator<number>;
91
+ export declare const isIntegerLessOrEqual: (min: number) => Validator<number>;
92
+ export declare const isIntegerInRange: (min: number, max: number) => Validator<number>;
93
+ export declare const isIntegerEqual: (expected: number) => Validator<number>;
94
+ export declare const isStringLengthGreater: (min: number) => Validator<string>;
95
+ export declare const isStringLengthGreaterOrEqual: (min: number) => Validator<string>;
96
+ export declare const isStringLengthLess: (min: number) => Validator<string>;
97
+ export declare const isStringLengthLessOrEqual: (min: number) => Validator<string>;
98
+ export declare const isStringLengthInRange: (min: number, max: number) => Validator<string>;
99
+ export declare const isStringLengthEqual: (expected: number) => Validator<string>;
100
+ export declare const isArrayLengthGreater: (min: number) => Validator<unknown[]>;
101
+ export declare const isArrayLengthGreaterOrEqual: (min: number) => Validator<unknown[]>;
102
+ export declare const isArrayLengthLess: (min: number) => Validator<unknown[]>;
103
+ export declare const isArrayLengthLessOrEqual: (min: number) => Validator<unknown[]>;
104
+ export declare const isArrayLengthInRange: (min: number, max: number) => Validator<unknown[]>;
105
+ export declare const isArrayLengthEqual: (expected: number) => Validator<unknown[]>;
106
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/util/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ import { isEqual, isGreater, isGreaterOrEqual, isInRange, isLess, isLessOrEqual } from './number.js';
2
+ /**
3
+ * Validates `value` as `boolean`.
4
+ */
5
+ export const isBoolean = (value) => typeof value === 'boolean';
6
+ /**
7
+ * Validates `value` as `number`.
8
+ */
9
+ export const isNumber = (value) => typeof value === 'number' && Number.isFinite(value);
10
+ /**
11
+ * Validates `value` as positive `number`.
12
+ */
13
+ export const isPositiveNumber = (value) => isNumber(value) && value > 0;
14
+ /**
15
+ * Validates `value` as non-negative `number`.
16
+ */
17
+ export const isNonNegativeNumber = (value) => isNumber(value) && value >= 0;
18
+ /**
19
+ * Validates `value` as `integer`.
20
+ */
21
+ export const isInteger = (value) => isNumber(value) && Number.isInteger(value);
22
+ /**
23
+ * Validates `value` as positive `integer`.
24
+ */
25
+ export const isPositiveInteger = (value) => isInteger(value) && value > 0;
26
+ /**
27
+ * Validates `value` as non-negative `integer`.
28
+ */
29
+ export const isNonNegativeInteger = (value) => isInteger(value) && value >= 0;
30
+ /**
31
+ * Validates `value` as `string`.
32
+ */
33
+ export const isString = (value) => typeof value === 'string';
34
+ /**
35
+ * Validates `value` as `array`.
36
+ */
37
+ export const isArray = (value) => Array.isArray(value);
38
+ /**
39
+ * Validates `value` as `null`.
40
+ */
41
+ export const isNull = (value) => value === null;
42
+ /**
43
+ * Validates `value` as `undefined`.
44
+ */
45
+ export const isUndefined = (value) => value === undefined;
46
+ /**
47
+ * Validates `value` as `null` or `undefined`.
48
+ */
49
+ export const isNullOrUndefined = (value) => isNull(value) || isUndefined(value);
50
+ /**
51
+ * Validates `value` as plain `object`.
52
+ */
53
+ export const isPlainObject = (value) => Object.prototype.toString.call(value) === '[object Object]';
54
+ /**
55
+ * Validates `value` as `function`.
56
+ */
57
+ export const isFunction = (value) => typeof value === 'function';
58
+ /**
59
+ * Validates `value` as `type`.
60
+ */
61
+ export const isInstance = (value, type) => isFunction(type) && value instanceof type;
62
+ /**
63
+ * Validates `value` as `enum`.
64
+ */
65
+ export const isEnum = (value, choices) => {
66
+ if (!isString(value) && !isNumber(value)) {
67
+ return false;
68
+ }
69
+ return ((isArray(choices) && choices.includes(value)) ||
70
+ (isPlainObject(choices) && Object.values(choices).includes(value)) ||
71
+ (isInstance(choices, Set) && choices.has(value)));
72
+ };
73
+ /**
74
+ * Type check an array of values using a validator.
75
+ */
76
+ export const isArrayOf = (values, validator) => {
77
+ if (!isArray(values)) {
78
+ return false;
79
+ }
80
+ for (const value of values) {
81
+ if (!validator(value)) {
82
+ return false;
83
+ }
84
+ }
85
+ return true;
86
+ };
87
+ /**
88
+ * Type check a plain object of values using a validator.
89
+ */
90
+ export const isPlainObjectOf = (record, validator) => {
91
+ if (!isPlainObject(record)) {
92
+ return false;
93
+ }
94
+ for (const value of Object.values(record)) {
95
+ if (!validator(value)) {
96
+ return false;
97
+ }
98
+ }
99
+ return true;
100
+ };
101
+ /**
102
+ * Refine a base validator with an extra condition.
103
+ */
104
+ export const refineValidator = (base, predicate, name = null) => {
105
+ const refinedValidator = (value) => base(value) && predicate(value);
106
+ Object.defineProperty(refinedValidator, 'name', {
107
+ value: isString(name) ? name : `${base.name}Refined`,
108
+ });
109
+ return refinedValidator;
110
+ };
111
+ /**
112
+ * Logical OR of two validators.
113
+ */
114
+ export const isAnyOf = (a, b) => (value) => a(value) || b(value);
115
+ export const isNumberGreater = (min) => refineValidator(isNumber, (value) => isGreater(value, min));
116
+ export const isNumberGreaterOrEqual = (min) => refineValidator(isNumber, (value) => isGreaterOrEqual(value, min));
117
+ export const isNumberLess = (min) => refineValidator(isNumber, (value) => isLess(value, min));
118
+ export const isNumberLessOrEqual = (min) => refineValidator(isNumber, (value) => isLessOrEqual(value, min));
119
+ export const isNumberInRange = (min, max) => refineValidator(isNumber, (value) => isInRange(value, min, max));
120
+ export const isNumberEqual = (expected) => refineValidator(isNumber, (value) => isEqual(value, expected));
121
+ export const isIntegerGreater = (min) => refineValidator(isInteger, (value) => isGreater(value, min));
122
+ export const isIntegerGreaterOrEqual = (min) => refineValidator(isInteger, (value) => isGreaterOrEqual(value, min));
123
+ export const isIntegerLess = (min) => refineValidator(isInteger, (value) => isLess(value, min));
124
+ export const isIntegerLessOrEqual = (min) => refineValidator(isInteger, (value) => isLessOrEqual(value, min));
125
+ export const isIntegerInRange = (min, max) => refineValidator(isInteger, (value) => isInRange(value, min, max));
126
+ export const isIntegerEqual = (expected) => refineValidator(isInteger, (value) => isEqual(value, expected));
127
+ export const isStringLengthGreater = (min) => refineValidator(isString, (value) => isGreater(value.length, min));
128
+ export const isStringLengthGreaterOrEqual = (min) => refineValidator(isString, (value) => isGreaterOrEqual(value.length, min));
129
+ export const isStringLengthLess = (min) => refineValidator(isString, (value) => isLess(value.length, min));
130
+ export const isStringLengthLessOrEqual = (min) => refineValidator(isString, (value) => isLessOrEqual(value.length, min));
131
+ export const isStringLengthInRange = (min, max) => refineValidator(isString, (value) => isInRange(value.length, min, max));
132
+ export const isStringLengthEqual = (expected) => refineValidator(isString, (value) => isEqual(value.length, expected));
133
+ export const isArrayLengthGreater = (min) => refineValidator(isArray, (value) => isGreater(value.length, min));
134
+ export const isArrayLengthGreaterOrEqual = (min) => refineValidator(isArray, (value) => isGreaterOrEqual(value.length, min));
135
+ export const isArrayLengthLess = (min) => refineValidator(isArray, (value) => isLess(value.length, min));
136
+ export const isArrayLengthLessOrEqual = (min) => refineValidator(isArray, (value) => isLessOrEqual(value.length, min));
137
+ export const isArrayLengthInRange = (min, max) => refineValidator(isArray, (value) => isInRange(value.length, min, max));
138
+ export const isArrayLengthEqual = (expected) => refineValidator(isArray, (value) => isEqual(value.length, expected));
139
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/util/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vpmedia/simplify",
3
- "version": "1.74.0",
3
+ "version": "1.75.0",
4
4
  "description": "@vpmedia/simplify",
5
5
  "author": "Andras Csizmadia <andras@vpmedia.hu> (www.vpmedia.hu)",
6
6
  "license": "MIT",
@@ -15,27 +15,42 @@
15
15
  "keywords": [
16
16
  "utils"
17
17
  ],
18
- "main": "./src/index.js",
19
- "types": "./types/index.d.ts",
18
+ "main": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.js",
24
+ "default": "./dist/index.js"
25
+ }
26
+ },
27
+ "files": [
28
+ "dist",
29
+ "src",
30
+ "LICENSE",
31
+ "README.md",
32
+ "CHANGELOG.md",
33
+ "SECURITY.md"
34
+ ],
20
35
  "type": "module",
21
36
  "optionalDependencies": {
22
- "@sentry/browser": "^10.40.0"
37
+ "@sentry/browser": "^10.51.0"
23
38
  },
24
39
  "devDependencies": {
25
- "@commitlint/cli": "^20.4.2",
26
- "@commitlint/config-conventional": "^20.4.2",
27
- "@types/node": "^25.3.3",
28
- "@vitest/coverage-v8": "^4.0.18",
29
- "jsdom": "^28.1.0",
30
- "msw": "^2.12.10",
31
- "oxfmt": "^0.35.0",
32
- "oxlint": "^1.50.0",
33
- "oxlint-tsgolint": "^0.15.0",
34
- "typescript": "^5.9.3",
35
- "vitest": "^4.0.18"
40
+ "@commitlint/cli": "^20.5.3",
41
+ "@commitlint/config-conventional": "^20.5.3",
42
+ "@types/node": "^25.6.0",
43
+ "@vitest/coverage-v8": "^4.1.5",
44
+ "jsdom": "^29.1.1",
45
+ "msw": "^2.14.3",
46
+ "oxfmt": "^0.48.0",
47
+ "oxlint": "^1.63.0",
48
+ "oxlint-tsgolint": "^0.22.1",
49
+ "typescript": "^6.0.3",
50
+ "vitest": "^4.1.5"
36
51
  },
37
52
  "scripts": {
38
- "build": "rm -rf types && tsc -p ./tsconfig.build.json",
53
+ "build": "rm -rf dist && tsc -p ./tsconfig.build.json",
39
54
  "check": "pnpm build && pnpm lint && pnpm test && pnpm typecheck",
40
55
  "format": "oxfmt --write \"./**/*.{js,jsx,mjs,cjs,ts,tsx,json,css}\"",
41
56
  "lint": "oxlint src",
@@ -0,0 +1,7 @@
1
+ import { HTTP_100_CONTINUE, HTTP_STATUS_MAP } from './http_status.js';
2
+
3
+ describe('http_status', () => {
4
+ test('HTTP status name from code', () => {
5
+ expect(HTTP_STATUS_MAP[HTTP_100_CONTINUE]).toBe('HTTP_100_CONTINUE');
6
+ });
7
+ });
@@ -66,7 +66,7 @@ export const HTTP_508_LOOP_DETECTED = 508;
66
66
  export const HTTP_510_NOT_EXTENDED = 510;
67
67
  export const HTTP_511_NETWORK_AUTHENTICATION_REQUIRED = 511;
68
68
 
69
- export const HTTP_STATUS_MAP = {
69
+ export const HTTP_STATUS_MAP: Record<number, string> = {
70
70
  [HTTP_100_CONTINUE]: 'HTTP_100_CONTINUE',
71
71
  [HTTP_101_SWITCHING_PROTOCOLS]: 'HTTP_101_SWITCHING_PROTOCOLS',
72
72
  [HTTP_102_PROCESSING]: 'HTTP_102_PROCESSING',
package/src/index.ts ADDED
@@ -0,0 +1,51 @@
1
+ export * from './const/http_status.js';
2
+ export { AbstractLogHandler } from './logging/AbstractLogHandler.js';
3
+ export type { LogExtra } from './logging/AbstractLogHandler.js';
4
+ export { ConsoleLogHandler } from './logging/ConsoleLogHandler.js';
5
+ export * from './logging/const.js';
6
+ export { Logger } from './logging/Logger.js';
7
+ export { OpenTelemetryLogHandler } from './logging/OpenTelemetryLogHandler.js';
8
+ export type { OpenTelemetryLogEmitter } from './logging/OpenTelemetryLogHandler.js';
9
+ export { SentryLogHandler } from './logging/SentryLogHandler.js';
10
+ export { formatLogMessage, getLogLevelName } from './logging/util.js';
11
+ export * from './pagelifecycle/const.js';
12
+ export * from './pagelifecycle/typedef.js';
13
+ export {
14
+ addPageLifecycleCallback,
15
+ getDocumentState,
16
+ getPageLifecycleEventEmitter,
17
+ getPageLifecycleState,
18
+ initPageLifecycle,
19
+ isPageLifecycleInitialized,
20
+ } from './pagelifecycle/util.js';
21
+ export { typeChecker } from './typecheck/TypeChecker.js';
22
+ export { TypeCheckError } from './typecheck/TypeCheckError.js';
23
+ export type { TypeCheckErrorOptions } from './typecheck/TypeCheckError.js';
24
+ export { typeCheck, typeCheckArray, typeCheckEnum } from './typecheck/util.js';
25
+ export type { EnumChoices } from './typecheck/util.js';
26
+ export { delayPromise, loadJSON, retryAsync } from './util/async.js';
27
+ export { getErrorDetails, getTypedError } from './util/error.js';
28
+ export type { ErrorDetails } from './util/error.js';
29
+ export { EventEmitter } from './util/event_emitter.js';
30
+ export type { EventListener } from './util/event_emitter.js';
31
+ export { FetchError, fetchRetry, HTTP_0_ANY } from './util/fetch.js';
32
+ export type { FetchRetryOptions } from './util/fetch.js';
33
+ export {
34
+ deg2rad,
35
+ fixFloatPrecision,
36
+ getRandomInt,
37
+ isEqual,
38
+ isGreater,
39
+ isGreaterOrEqual,
40
+ isInRange,
41
+ isLess,
42
+ isLessOrEqual,
43
+ rad2deg,
44
+ } from './util/number.js';
45
+ export { deepMerge, getObjArrayPropSum, getObjValueByPath, purgeObject, setObjValueByPath } from './util/object.js';
46
+ export { getURLParam, sanitizeURLParam } from './util/query.js';
47
+ export { serverDataToState } from './util/state.js';
48
+ export { addLeadingZero, capitalize, getTypeFromValue, saveAsFile, underscoreToCamelCase } from './util/string.js';
49
+ export { uuidv4 } from './util/uuid.js';
50
+ export * from './util/validate.js';
51
+ export type { Validator } from './util/validate.js';
@@ -0,0 +1,31 @@
1
+ import type { Logger } from './Logger.js';
2
+
3
+ export interface LogExtra {
4
+ tags?: Record<string, string | number | boolean | null | undefined>;
5
+ [key: string]: unknown;
6
+ }
7
+
8
+ export class AbstractLogHandler {
9
+ level: number;
10
+
11
+ /**
12
+ * Abstract log handler.
13
+ */
14
+ constructor(level: number) {
15
+ this.level = level;
16
+ }
17
+
18
+ /**
19
+ * Emit log record.
20
+ */
21
+ emit(
22
+ _logger: Logger,
23
+ _timestamp: number,
24
+ _level: number,
25
+ _message: string,
26
+ _extra: LogExtra | null | undefined,
27
+ _error: Error | null | undefined
28
+ ): void {
29
+ throw new Error('Not implemented.');
30
+ }
31
+ }