@bitblit/ratchet-common 4.0.99-alpha → 4.0.102-alpha

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 (298) hide show
  1. package/dist/{types/2d → 2d}/line-2d.d.ts +1 -1
  2. package/dist/{types/2d → 2d}/poly-line-2d.d.ts +1 -1
  3. package/dist/{types/2d → 2d}/ratchet-2d.d.ts +4 -4
  4. package/dist/{es/2d → 2d}/ratchet-2d.js +1 -1
  5. package/dist/2d/ratchet-2d.spec.js +117 -0
  6. package/dist/{types/build → build}/ratchet-common-info.d.ts +1 -1
  7. package/dist/{types/histogram → histogram}/histogram.d.ts +1 -4
  8. package/dist/{es/histogram → histogram}/histogram.js +1 -3
  9. package/dist/histogram/histogram.spec.js +19 -0
  10. package/dist/jwt/common-jwt-token.d.ts +6 -0
  11. package/dist/{types/jwt → jwt}/jwt-ratchet-like.d.ts +3 -6
  12. package/dist/{types/jwt → jwt}/jwt-ratchet.d.ts +4 -13
  13. package/dist/{es/jwt → jwt}/jwt-ratchet.js +12 -7
  14. package/dist/jwt/jwt-ratchet.spec.js +49 -0
  15. package/dist/{types/jwt → jwt}/jwt-token-base.d.ts +0 -4
  16. package/dist/lang/array-ratchet.d.ts +14 -0
  17. package/dist/{es/lang → lang}/array-ratchet.js +2 -2
  18. package/dist/lang/array-ratchet.spec.js +68 -0
  19. package/dist/{types/lang → lang}/base64-ratchet.d.ts +1 -1
  20. package/dist/{es/lang → lang}/base64-ratchet.js +1 -1
  21. package/dist/lang/base64-ratchet.spec.js +28 -0
  22. package/dist/{es/lang → lang}/boolean-ratchet.js +1 -1
  23. package/dist/lang/boolean-ratchet.spec.js +81 -0
  24. package/dist/{types/lang → lang}/composite-last-success-provider.d.ts +1 -2
  25. package/dist/{es/lang → lang}/composite-last-success-provider.js +2 -0
  26. package/dist/lang/composite-last-success-provider.spec.js +26 -0
  27. package/dist/{es/lang → lang}/date-ratchet.js +5 -5
  28. package/dist/lang/date-ratchet.spec.js +21 -0
  29. package/dist/{es/lang → lang}/duration-ratchet.js +1 -1
  30. package/dist/lang/duration-ratchet.spec.js +39 -0
  31. package/dist/lang/enum-ratchet.d.ts +5 -0
  32. package/dist/{es/lang → lang}/enum-ratchet.js +1 -1
  33. package/dist/lang/enum-ratchet.spec.d.ts +5 -0
  34. package/dist/lang/enum-ratchet.spec.js +31 -0
  35. package/dist/{es/lang → lang}/error-ratchet.js +1 -1
  36. package/dist/lang/error-ratchet.spec.js +20 -0
  37. package/dist/lang/esm-ratchet.d.ts +4 -0
  38. package/dist/lang/esm-ratchet.js +11 -0
  39. package/dist/{types/lang → lang}/expiring-object.d.ts +1 -1
  40. package/dist/{es/lang → lang}/expiring-object.js +13 -4
  41. package/dist/lang/expiring-object.spec.js +51 -0
  42. package/dist/{es/lang → lang}/geolocation-ratchet.js +4 -4
  43. package/dist/lang/geolocation-ratchet.spec.d.ts +1 -0
  44. package/dist/lang/geolocation-ratchet.spec.js +74 -0
  45. package/dist/{es/lang → lang}/global-ratchet.js +3 -3
  46. package/dist/lang/global-ratchet.spec.d.ts +1 -0
  47. package/dist/lang/global-ratchet.spec.js +14 -0
  48. package/dist/{es/lang → lang}/key-value.js +2 -0
  49. package/dist/lang/last-success-provider.d.ts +3 -0
  50. package/dist/lang/last-success-provider.js +1 -0
  51. package/dist/{types/lang → lang}/map-ratchet.d.ts +1 -1
  52. package/dist/{es/lang → lang}/map-ratchet.js +3 -3
  53. package/dist/lang/map-ratchet.spec.d.ts +1 -0
  54. package/dist/lang/map-ratchet.spec.js +90 -0
  55. package/dist/lang/no.spec.d.ts +1 -0
  56. package/dist/lang/no.spec.js +7 -0
  57. package/dist/{es/lang → lang}/number-ratchet.js +3 -3
  58. package/dist/lang/number-ratchet.spec.d.ts +1 -0
  59. package/dist/lang/number-ratchet.spec.js +118 -0
  60. package/dist/lang/parsed-url.js +1 -0
  61. package/dist/lang/promise-ratchet.d.ts +18 -0
  62. package/dist/{es/lang → lang}/promise-ratchet.js +5 -5
  63. package/dist/lang/promise-ratchet.spec.d.ts +1 -0
  64. package/dist/lang/promise-ratchet.spec.js +74 -0
  65. package/dist/{es/lang → lang}/require-ratchet.js +1 -1
  66. package/dist/lang/require-ratchet.spec.d.ts +3 -0
  67. package/dist/lang/require-ratchet.spec.js +80 -0
  68. package/dist/{types/lang → lang}/stop-watch.d.ts +1 -1
  69. package/dist/{es/lang → lang}/stop-watch.js +9 -8
  70. package/dist/{es/lang → lang}/string-ratchet.js +2 -2
  71. package/dist/lang/string-ratchet.spec.d.ts +1 -0
  72. package/dist/lang/string-ratchet.spec.js +158 -0
  73. package/dist/lang/time-zone-ratchet.d.ts +19 -0
  74. package/dist/{es/lang → lang}/time-zone-ratchet.js +2 -1
  75. package/dist/lang/time-zone-ratchet.spec.d.ts +1 -0
  76. package/dist/lang/time-zone-ratchet.spec.js +40 -0
  77. package/dist/{types/lang → lang}/timeout-token.d.ts +1 -1
  78. package/dist/{es/lang → lang}/timeout-token.js +5 -3
  79. package/dist/lang/timeout-token.spec.d.ts +1 -0
  80. package/dist/lang/timeout-token.spec.js +9 -0
  81. package/dist/{types/lang → lang}/transform-ratchet.d.ts +1 -1
  82. package/dist/{es/lang → lang}/transform-ratchet.js +1 -1
  83. package/dist/lang/transform-ratchet.spec.d.ts +1 -0
  84. package/dist/lang/transform-ratchet.spec.js +118 -0
  85. package/dist/logger/classic-single-line-log-message-formatter.d.ts +6 -0
  86. package/dist/{types/logger → logger}/log-message-builder.d.ts +2 -2
  87. package/dist/{es/logger → logger}/log-message-builder.js +1 -0
  88. package/dist/{types/logger → logger}/log-message-formatter.d.ts +2 -2
  89. package/dist/logger/log-message-formatter.js +1 -0
  90. package/dist/{types/logger → logger}/log-message-processor.d.ts +1 -1
  91. package/dist/logger/log-message-processor.js +1 -0
  92. package/dist/{types/logger → logger}/log-message.d.ts +1 -1
  93. package/dist/logger/log-message.js +1 -0
  94. package/dist/{types/logger → logger}/log-snapshot.d.ts +1 -1
  95. package/dist/logger/log-snapshot.js +1 -0
  96. package/dist/{types/logger → logger}/logger-instance.d.ts +6 -6
  97. package/dist/{es/logger → logger}/logger-instance.js +15 -8
  98. package/dist/{types/logger → logger}/logger-meta.d.ts +1 -1
  99. package/dist/logger/logger-meta.js +1 -0
  100. package/dist/{types/logger → logger}/logger-options.d.ts +4 -4
  101. package/dist/logger/logger-options.js +1 -0
  102. package/dist/{types/logger → logger}/logger-ring-buffer.d.ts +2 -2
  103. package/dist/{es/logger → logger}/logger-ring-buffer.js +7 -6
  104. package/dist/{types/logger → logger}/logger-util.d.ts +2 -2
  105. package/dist/{es/logger → logger}/logger-util.js +10 -10
  106. package/dist/logger/logger-util.spec.d.ts +1 -0
  107. package/dist/logger/logger-util.spec.js +9 -0
  108. package/dist/{types/logger → logger}/logger.d.ts +7 -16
  109. package/dist/{es/logger → logger}/logger.js +14 -14
  110. package/dist/logger/logger.spec.d.ts +1 -0
  111. package/dist/logger/logger.spec.js +134 -0
  112. package/dist/logger/none-log-message-formatter.d.ts +6 -0
  113. package/dist/logger/structured-json-log-message-formatter.d.ts +6 -0
  114. package/dist/{types/network → network}/browser-local-ip-provider.d.ts +1 -1
  115. package/dist/{es/network → network}/browser-local-ip-provider.js +3 -3
  116. package/dist/network/browser-local-ip-provider.spec.d.ts +1 -0
  117. package/dist/network/browser-local-ip-provider.spec.js +16 -0
  118. package/dist/{types/network → network}/fixed-local-ip-provider.d.ts +1 -1
  119. package/dist/{es/network → network}/fixed-local-ip-provider.js +1 -0
  120. package/dist/network/local-ip-provider.d.ts +3 -0
  121. package/dist/network/local-ip-provider.js +1 -0
  122. package/dist/{types/network → network}/network-ratchet.d.ts +1 -1
  123. package/dist/{es/network → network}/network-ratchet.js +2 -2
  124. package/dist/network/network-ratchet.spec.d.ts +1 -0
  125. package/dist/network/network-ratchet.spec.js +13 -0
  126. package/dist/{types/stream → stream}/buffer-writable.d.ts +2 -2
  127. package/dist/{es/stream → stream}/buffer-writable.js +1 -1
  128. package/dist/stream/multi-stream.d.ts +7 -0
  129. package/dist/stream/multi-stream.js +12 -0
  130. package/dist/{types/stream → stream}/stream-ratchet.d.ts +2 -2
  131. package/dist/{es/stream → stream}/stream-ratchet.js +2 -2
  132. package/dist/stream/stream-ratchet.spec.d.ts +1 -0
  133. package/dist/stream/stream-ratchet.spec.js +13 -0
  134. package/dist/{types/stream → stream}/string-writable.d.ts +1 -1
  135. package/dist/{es/stream → stream}/string-writable.js +1 -1
  136. package/dist/stream/string-writable.spec.d.ts +1 -0
  137. package/dist/stream/string-writable.spec.js +12 -0
  138. package/dist/{es/third-party → third-party}/google/google-recaptcha-ratchet.js +3 -3
  139. package/dist/third-party/google/google-recaptcha-ratchet.spec.d.ts +1 -0
  140. package/dist/third-party/google/google-recaptcha-ratchet.spec.js +20 -0
  141. package/dist/{types/third-party → third-party}/twilio/twilio-ratchet.d.ts +0 -4
  142. package/dist/{es/third-party → third-party}/twilio/twilio-ratchet.js +8 -5
  143. package/dist/{types/transform → transform}/built-in-transforms.d.ts +1 -1
  144. package/dist/{es/transform → transform}/built-in-transforms.js +2 -2
  145. package/dist/transform/transform-rule.js +1 -0
  146. package/dist/{types/tx → tx}/transaction-configuration.d.ts +2 -2
  147. package/dist/tx/transaction-configuration.js +1 -0
  148. package/dist/{types/tx → tx}/transaction-ratchet.d.ts +3 -3
  149. package/dist/{es/tx → tx}/transaction-ratchet.js +4 -4
  150. package/dist/tx/transaction-ratchet.spec.d.ts +1 -0
  151. package/dist/tx/transaction-ratchet.spec.js +130 -0
  152. package/dist/{types/tx → tx}/transaction-result.d.ts +1 -1
  153. package/dist/tx/transaction-result.js +1 -0
  154. package/dist/tx/transaction-step.js +1 -0
  155. package/package.json +10 -11
  156. package/dist/cjs/2d/line-2d.js +0 -2
  157. package/dist/cjs/2d/plane-2d.js +0 -2
  158. package/dist/cjs/2d/point-2d.js +0 -2
  159. package/dist/cjs/2d/poly-line-2d.js +0 -2
  160. package/dist/cjs/2d/ratchet-2d.js +0 -250
  161. package/dist/cjs/build/build-information.js +0 -2
  162. package/dist/cjs/build/ratchet-common-info.js +0 -18
  163. package/dist/cjs/histogram/histogram-entry.js +0 -2
  164. package/dist/cjs/histogram/histogram.js +0 -54
  165. package/dist/cjs/index.js +0 -74
  166. package/dist/cjs/jwt/common-jwt-token.js +0 -2
  167. package/dist/cjs/jwt/expired-jwt-handling.js +0 -9
  168. package/dist/cjs/jwt/jwt-ratchet-like.js +0 -2
  169. package/dist/cjs/jwt/jwt-ratchet.js +0 -164
  170. package/dist/cjs/jwt/jwt-token-base.js +0 -2
  171. package/dist/cjs/lang/array-ratchet.js +0 -87
  172. package/dist/cjs/lang/base64-ratchet.js +0 -49
  173. package/dist/cjs/lang/boolean-ratchet.js +0 -49
  174. package/dist/cjs/lang/composite-last-success-provider.js +0 -28
  175. package/dist/cjs/lang/date-ratchet.js +0 -33
  176. package/dist/cjs/lang/duration-ratchet.js +0 -46
  177. package/dist/cjs/lang/enum-ratchet.js +0 -34
  178. package/dist/cjs/lang/error-ratchet.js +0 -49
  179. package/dist/cjs/lang/expiring-object.js +0 -68
  180. package/dist/cjs/lang/geolocation-ratchet.js +0 -267
  181. package/dist/cjs/lang/global-ratchet.js +0 -48
  182. package/dist/cjs/lang/key-value.js +0 -6
  183. package/dist/cjs/lang/last-success-provider.js +0 -2
  184. package/dist/cjs/lang/map-ratchet.js +0 -168
  185. package/dist/cjs/lang/no.js +0 -8
  186. package/dist/cjs/lang/number-ratchet.js +0 -159
  187. package/dist/cjs/lang/parsed-url.js +0 -2
  188. package/dist/cjs/lang/promise-ratchet.js +0 -142
  189. package/dist/cjs/lang/require-ratchet.js +0 -60
  190. package/dist/cjs/lang/stop-watch.js +0 -117
  191. package/dist/cjs/lang/string-ratchet.js +0 -195
  192. package/dist/cjs/lang/time-zone-ratchet.js +0 -80
  193. package/dist/cjs/lang/timeout-token.js +0 -19
  194. package/dist/cjs/lang/transform-ratchet.js +0 -70
  195. package/dist/cjs/logger/classic-single-line-log-message-formatter.js +0 -18
  196. package/dist/cjs/logger/log-message-builder.js +0 -51
  197. package/dist/cjs/logger/log-message-format-type.js +0 -9
  198. package/dist/cjs/logger/log-message-formatter.js +0 -2
  199. package/dist/cjs/logger/log-message-processor.js +0 -2
  200. package/dist/cjs/logger/log-message.js +0 -2
  201. package/dist/cjs/logger/log-snapshot.js +0 -2
  202. package/dist/cjs/logger/logger-instance.js +0 -207
  203. package/dist/cjs/logger/logger-level-name.js +0 -12
  204. package/dist/cjs/logger/logger-meta.js +0 -2
  205. package/dist/cjs/logger/logger-options.js +0 -2
  206. package/dist/cjs/logger/logger-output-function.js +0 -9
  207. package/dist/cjs/logger/logger-ring-buffer.js +0 -76
  208. package/dist/cjs/logger/logger-util.js +0 -49
  209. package/dist/cjs/logger/logger.js +0 -139
  210. package/dist/cjs/logger/none-log-message-formatter.js +0 -9
  211. package/dist/cjs/logger/structured-json-log-message-formatter.js +0 -24
  212. package/dist/cjs/network/browser-local-ip-provider.js +0 -25
  213. package/dist/cjs/network/fixed-local-ip-provider.js +0 -12
  214. package/dist/cjs/network/local-ip-provider.js +0 -2
  215. package/dist/cjs/network/network-ratchet.js +0 -106
  216. package/dist/cjs/stream/buffer-writable.js +0 -20
  217. package/dist/cjs/stream/stream-ratchet.js +0 -72
  218. package/dist/cjs/stream/string-writable.js +0 -18
  219. package/dist/cjs/third-party/google/google-recaptcha-ratchet.js +0 -33
  220. package/dist/cjs/third-party/twilio/twilio-ratchet.js +0 -75
  221. package/dist/cjs/transform/built-in-transforms.js +0 -195
  222. package/dist/cjs/transform/transform-rule.js +0 -2
  223. package/dist/cjs/tx/transaction-configuration.js +0 -2
  224. package/dist/cjs/tx/transaction-final-state.js +0 -9
  225. package/dist/cjs/tx/transaction-ratchet.js +0 -80
  226. package/dist/cjs/tx/transaction-result.js +0 -2
  227. package/dist/cjs/tx/transaction-step.js +0 -2
  228. package/dist/es/index.js +0 -71
  229. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  230. package/dist/tsconfig.es.tsbuildinfo +0 -1
  231. package/dist/tsconfig.types.tsbuildinfo +0 -1
  232. package/dist/types/index.d.ts +0 -74
  233. package/dist/types/jwt/common-jwt-token.d.ts +0 -17
  234. package/dist/types/lang/array-ratchet.d.ts +0 -30
  235. package/dist/types/lang/enum-ratchet.d.ts +0 -12
  236. package/dist/types/lang/last-success-provider.d.ts +0 -4
  237. package/dist/types/lang/promise-ratchet.d.ts +0 -32
  238. package/dist/types/lang/time-zone-ratchet.d.ts +0 -50
  239. package/dist/types/logger/classic-single-line-log-message-formatter.d.ts +0 -6
  240. package/dist/types/logger/none-log-message-formatter.d.ts +0 -6
  241. package/dist/types/logger/structured-json-log-message-formatter.d.ts +0 -6
  242. package/dist/types/network/local-ip-provider.d.ts +0 -4
  243. /package/dist/{es/2d → 2d}/line-2d.js +0 -0
  244. /package/dist/{types/2d → 2d}/plane-2d.d.ts +0 -0
  245. /package/dist/{es/2d → 2d}/plane-2d.js +0 -0
  246. /package/dist/{types/2d → 2d}/point-2d.d.ts +0 -0
  247. /package/dist/{es/2d → 2d}/point-2d.js +0 -0
  248. /package/dist/{es/2d → 2d}/poly-line-2d.js +0 -0
  249. /package/dist/{es/build/build-information.js → 2d/ratchet-2d.spec.d.ts} +0 -0
  250. /package/dist/{types/build → build}/build-information.d.ts +0 -0
  251. /package/dist/{es/histogram/histogram-entry.js → build/build-information.js} +0 -0
  252. /package/dist/{es/build → build}/ratchet-common-info.js +0 -0
  253. /package/dist/{types/histogram → histogram}/histogram-entry.d.ts +0 -0
  254. /package/dist/{es/jwt/common-jwt-token.js → histogram/histogram-entry.js} +0 -0
  255. /package/dist/{es/jwt/jwt-ratchet-like.js → histogram/histogram.spec.d.ts} +0 -0
  256. /package/dist/{es/jwt/jwt-token-base.js → index.d.ts} +0 -0
  257. /package/dist/{es/lang/last-success-provider.js → index.js} +0 -0
  258. /package/dist/{es/lang/parsed-url.js → jwt/common-jwt-token.js} +0 -0
  259. /package/dist/{types/jwt → jwt}/expired-jwt-handling.d.ts +0 -0
  260. /package/dist/{es/jwt → jwt}/expired-jwt-handling.js +0 -0
  261. /package/dist/{es/logger/log-message-formatter.js → jwt/jwt-ratchet-like.js} +0 -0
  262. /package/dist/{es/logger/log-message-processor.js → jwt/jwt-ratchet.spec.d.ts} +0 -0
  263. /package/dist/{es/logger/log-message.js → jwt/jwt-token-base.js} +0 -0
  264. /package/dist/{es/logger/log-snapshot.js → lang/array-ratchet.spec.d.ts} +0 -0
  265. /package/dist/{es/logger/logger-meta.js → lang/base64-ratchet.spec.d.ts} +0 -0
  266. /package/dist/{types/lang → lang}/boolean-ratchet.d.ts +0 -0
  267. /package/dist/{es/logger/logger-options.js → lang/boolean-ratchet.spec.d.ts} +0 -0
  268. /package/dist/{es/network/local-ip-provider.js → lang/composite-last-success-provider.spec.d.ts} +0 -0
  269. /package/dist/{types/lang → lang}/date-ratchet.d.ts +0 -0
  270. /package/dist/{es/transform/transform-rule.js → lang/date-ratchet.spec.d.ts} +0 -0
  271. /package/dist/{types/lang → lang}/duration-ratchet.d.ts +0 -0
  272. /package/dist/{es/tx/transaction-configuration.js → lang/duration-ratchet.spec.d.ts} +0 -0
  273. /package/dist/{types/lang → lang}/error-ratchet.d.ts +0 -0
  274. /package/dist/{es/tx/transaction-result.js → lang/error-ratchet.spec.d.ts} +0 -0
  275. /package/dist/{es/tx/transaction-step.js → lang/expiring-object.spec.d.ts} +0 -0
  276. /package/dist/{types/lang → lang}/geolocation-ratchet.d.ts +0 -0
  277. /package/dist/{types/lang → lang}/global-ratchet.d.ts +0 -0
  278. /package/dist/{types/lang → lang}/key-value.d.ts +0 -0
  279. /package/dist/{types/lang → lang}/no.d.ts +0 -0
  280. /package/dist/{es/lang → lang}/no.js +0 -0
  281. /package/dist/{types/lang → lang}/number-ratchet.d.ts +0 -0
  282. /package/dist/{types/lang → lang}/parsed-url.d.ts +0 -0
  283. /package/dist/{types/lang → lang}/require-ratchet.d.ts +0 -0
  284. /package/dist/{types/lang → lang}/string-ratchet.d.ts +0 -0
  285. /package/dist/{es/logger → logger}/classic-single-line-log-message-formatter.js +0 -0
  286. /package/dist/{types/logger → logger}/log-message-format-type.d.ts +0 -0
  287. /package/dist/{es/logger → logger}/log-message-format-type.js +0 -0
  288. /package/dist/{types/logger → logger}/logger-level-name.d.ts +0 -0
  289. /package/dist/{es/logger → logger}/logger-level-name.js +0 -0
  290. /package/dist/{types/logger → logger}/logger-output-function.d.ts +0 -0
  291. /package/dist/{es/logger → logger}/logger-output-function.js +0 -0
  292. /package/dist/{es/logger → logger}/none-log-message-formatter.js +0 -0
  293. /package/dist/{es/logger → logger}/structured-json-log-message-formatter.js +0 -0
  294. /package/dist/{types/third-party → third-party}/google/google-recaptcha-ratchet.d.ts +0 -0
  295. /package/dist/{types/transform → transform}/transform-rule.d.ts +0 -0
  296. /package/dist/{types/tx → tx}/transaction-final-state.d.ts +0 -0
  297. /package/dist/{es/tx → tx}/transaction-final-state.js +0 -0
  298. /package/dist/{types/tx → tx}/transaction-step.d.ts +0 -0
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Histogram = void 0;
4
- class Histogram {
5
- constructor() {
6
- this.entries = [];
7
- }
8
- update(val, addValue = 1) {
9
- if (val) {
10
- const entry = this.entries.find((e) => e.item === val);
11
- if (entry) {
12
- entry.count += addValue;
13
- }
14
- else {
15
- this.entries.push({
16
- item: val,
17
- count: addValue,
18
- });
19
- }
20
- }
21
- }
22
- sort() {
23
- this.entries.sort((a, b) => {
24
- let rval = b.count - a.count;
25
- if (rval === 0) {
26
- rval = String(b.item).localeCompare(String(a.item));
27
- }
28
- return rval;
29
- });
30
- }
31
- sortKeys() {
32
- this.entries.sort((a, b) => String(b.item).localeCompare(String(a.item)));
33
- }
34
- reverse() {
35
- this.entries.reverse();
36
- }
37
- getEntries() {
38
- return this.entries;
39
- }
40
- getTotalCount() {
41
- let rval = 0;
42
- this.entries.forEach((h) => (rval += h.count));
43
- return rval;
44
- }
45
- countForValue(val) {
46
- const entry = this.entries.find((test) => test.item === val);
47
- return entry ? entry.count : 0;
48
- }
49
- percentForValue(val) {
50
- const total = this.getTotalCount();
51
- return total === 0 ? 0 : this.countForValue(val) / total;
52
- }
53
- }
54
- exports.Histogram = Histogram;
package/dist/cjs/index.js DELETED
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./2d/line-2d"), exports);
5
- tslib_1.__exportStar(require("./2d/plane-2d"), exports);
6
- tslib_1.__exportStar(require("./2d/point-2d"), exports);
7
- tslib_1.__exportStar(require("./2d/poly-line-2d"), exports);
8
- tslib_1.__exportStar(require("./2d/ratchet-2d"), exports);
9
- tslib_1.__exportStar(require("./build/build-information"), exports);
10
- tslib_1.__exportStar(require("./build/ratchet-common-info"), exports);
11
- tslib_1.__exportStar(require("./histogram/histogram-entry"), exports);
12
- tslib_1.__exportStar(require("./histogram/histogram"), exports);
13
- tslib_1.__exportStar(require("./jwt/common-jwt-token"), exports);
14
- tslib_1.__exportStar(require("./jwt/expired-jwt-handling"), exports);
15
- tslib_1.__exportStar(require("./jwt/jwt-ratchet-like"), exports);
16
- tslib_1.__exportStar(require("./jwt/jwt-ratchet"), exports);
17
- tslib_1.__exportStar(require("./jwt/jwt-token-base"), exports);
18
- tslib_1.__exportStar(require("./lang/array-ratchet"), exports);
19
- tslib_1.__exportStar(require("./lang/base64-ratchet"), exports);
20
- tslib_1.__exportStar(require("./lang/boolean-ratchet"), exports);
21
- tslib_1.__exportStar(require("./lang/composite-last-success-provider"), exports);
22
- tslib_1.__exportStar(require("./lang/date-ratchet"), exports);
23
- tslib_1.__exportStar(require("./lang/duration-ratchet"), exports);
24
- tslib_1.__exportStar(require("./lang/enum-ratchet"), exports);
25
- tslib_1.__exportStar(require("./lang/error-ratchet"), exports);
26
- tslib_1.__exportStar(require("./lang/expiring-object"), exports);
27
- tslib_1.__exportStar(require("./lang/geolocation-ratchet"), exports);
28
- tslib_1.__exportStar(require("./lang/global-ratchet"), exports);
29
- tslib_1.__exportStar(require("./lang/key-value"), exports);
30
- tslib_1.__exportStar(require("./lang/last-success-provider"), exports);
31
- tslib_1.__exportStar(require("./lang/map-ratchet"), exports);
32
- tslib_1.__exportStar(require("./lang/no"), exports);
33
- tslib_1.__exportStar(require("./lang/number-ratchet"), exports);
34
- tslib_1.__exportStar(require("./lang/parsed-url"), exports);
35
- tslib_1.__exportStar(require("./lang/promise-ratchet"), exports);
36
- tslib_1.__exportStar(require("./lang/require-ratchet"), exports);
37
- tslib_1.__exportStar(require("./lang/stop-watch"), exports);
38
- tslib_1.__exportStar(require("./lang/string-ratchet"), exports);
39
- tslib_1.__exportStar(require("./lang/time-zone-ratchet"), exports);
40
- tslib_1.__exportStar(require("./lang/timeout-token"), exports);
41
- tslib_1.__exportStar(require("./lang/transform-ratchet"), exports);
42
- tslib_1.__exportStar(require("./logger/classic-single-line-log-message-formatter"), exports);
43
- tslib_1.__exportStar(require("./logger/log-message-builder"), exports);
44
- tslib_1.__exportStar(require("./logger/log-message-format-type"), exports);
45
- tslib_1.__exportStar(require("./logger/log-message-formatter"), exports);
46
- tslib_1.__exportStar(require("./logger/log-message-processor"), exports);
47
- tslib_1.__exportStar(require("./logger/log-message"), exports);
48
- tslib_1.__exportStar(require("./logger/log-snapshot"), exports);
49
- tslib_1.__exportStar(require("./logger/logger-instance"), exports);
50
- tslib_1.__exportStar(require("./logger/logger-level-name"), exports);
51
- tslib_1.__exportStar(require("./logger/logger-meta"), exports);
52
- tslib_1.__exportStar(require("./logger/logger-options"), exports);
53
- tslib_1.__exportStar(require("./logger/logger-output-function"), exports);
54
- tslib_1.__exportStar(require("./logger/logger-ring-buffer"), exports);
55
- tslib_1.__exportStar(require("./logger/logger-util"), exports);
56
- tslib_1.__exportStar(require("./logger/logger"), exports);
57
- tslib_1.__exportStar(require("./logger/none-log-message-formatter"), exports);
58
- tslib_1.__exportStar(require("./logger/structured-json-log-message-formatter"), exports);
59
- tslib_1.__exportStar(require("./network/browser-local-ip-provider"), exports);
60
- tslib_1.__exportStar(require("./network/fixed-local-ip-provider"), exports);
61
- tslib_1.__exportStar(require("./network/local-ip-provider"), exports);
62
- tslib_1.__exportStar(require("./network/network-ratchet"), exports);
63
- tslib_1.__exportStar(require("./stream/buffer-writable"), exports);
64
- tslib_1.__exportStar(require("./stream/stream-ratchet"), exports);
65
- tslib_1.__exportStar(require("./stream/string-writable"), exports);
66
- tslib_1.__exportStar(require("./third-party/google/google-recaptcha-ratchet"), exports);
67
- tslib_1.__exportStar(require("./third-party/twilio/twilio-ratchet"), exports);
68
- tslib_1.__exportStar(require("./transform/built-in-transforms"), exports);
69
- tslib_1.__exportStar(require("./transform/transform-rule"), exports);
70
- tslib_1.__exportStar(require("./tx/transaction-configuration"), exports);
71
- tslib_1.__exportStar(require("./tx/transaction-final-state"), exports);
72
- tslib_1.__exportStar(require("./tx/transaction-ratchet"), exports);
73
- tslib_1.__exportStar(require("./tx/transaction-result"), exports);
74
- tslib_1.__exportStar(require("./tx/transaction-step"), exports);
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExpiredJwtHandling = void 0;
4
- var ExpiredJwtHandling;
5
- (function (ExpiredJwtHandling) {
6
- ExpiredJwtHandling[ExpiredJwtHandling["RETURN_NULL"] = 0] = "RETURN_NULL";
7
- ExpiredJwtHandling[ExpiredJwtHandling["THROW_EXCEPTION"] = 1] = "THROW_EXCEPTION";
8
- ExpiredJwtHandling[ExpiredJwtHandling["ADD_FLAG"] = 2] = "ADD_FLAG";
9
- })(ExpiredJwtHandling = exports.ExpiredJwtHandling || (exports.ExpiredJwtHandling = {}));
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,164 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JwtRatchet = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsonwebtoken_1 = tslib_1.__importDefault(require("jsonwebtoken"));
6
- const require_ratchet_1 = require("../lang/require-ratchet");
7
- const logger_1 = require("../logger/logger");
8
- const string_ratchet_1 = require("../lang/string-ratchet");
9
- const duration_ratchet_1 = require("../lang/duration-ratchet");
10
- const logger_level_name_1 = require("../logger/logger-level-name");
11
- const expired_jwt_handling_1 = require("./expired-jwt-handling");
12
- class JwtRatchet {
13
- constructor(_encryptionKeyPromise, _decryptKeysPromise, _jtiGenerator = string_ratchet_1.StringRatchet.createType4Guid, _decryptOnlyKeyUseLogLevel = logger_level_name_1.LoggerLevelName.info, _parseFailureLogLevel = logger_level_name_1.LoggerLevelName.debug) {
14
- this._encryptionKeyPromise = _encryptionKeyPromise;
15
- this._decryptKeysPromise = _decryptKeysPromise;
16
- this._jtiGenerator = _jtiGenerator;
17
- this._decryptOnlyKeyUseLogLevel = _decryptOnlyKeyUseLogLevel;
18
- this._parseFailureLogLevel = _parseFailureLogLevel;
19
- require_ratchet_1.RequireRatchet.notNullOrUndefined(_encryptionKeyPromise, 'encryptionKeyPromise');
20
- }
21
- get encryptionKeyPromise() {
22
- return this._encryptionKeyPromise;
23
- }
24
- get decryptKeysPromise() {
25
- return this._decryptKeysPromise;
26
- }
27
- get jtiGenerator() {
28
- return this._jtiGenerator;
29
- }
30
- get decryptOnlyKeyUseLogLevel() {
31
- return this._decryptOnlyKeyUseLogLevel;
32
- }
33
- get parseFailureLogLevel() {
34
- return this._parseFailureLogLevel;
35
- }
36
- static hasExpiredFlag(ob) {
37
- return ob && ob[JwtRatchet.EXPIRED_FLAG_NAME] === true;
38
- }
39
- static async invalidSafeDecode(payloadString, decryptKey, logLevel = logger_level_name_1.LoggerLevelName.silly) {
40
- let rval = null;
41
- try {
42
- rval = jsonwebtoken_1.default.verify(payloadString, decryptKey, { ignoreExpiration: true });
43
- }
44
- catch (err) {
45
- logger_1.Logger.logByLevel(logLevel, 'Caught %s - ignoring', err);
46
- }
47
- return rval;
48
- }
49
- static async secondsRemainingUntilExpiration(payloadString) {
50
- let rval = null;
51
- if (string_ratchet_1.StringRatchet.trimToNull(payloadString)) {
52
- const output = await JwtRatchet.decodeTokenNoVerify(payloadString);
53
- const nowSecond = Math.floor(Date.now() / 1000);
54
- if (output.exp) {
55
- const expSeconds = output.exp > nowSecond * 100 ? Math.floor(output.exp / 1000) : output.exp;
56
- rval = Math.max(0, expSeconds - nowSecond);
57
- }
58
- }
59
- return rval;
60
- }
61
- static async msRemainingUntilExpiration(payloadString) {
62
- const secs = await JwtRatchet.secondsRemainingUntilExpiration(payloadString);
63
- let rval = null;
64
- if (secs !== null && secs !== undefined) {
65
- rval = secs * 1000;
66
- }
67
- return rval;
68
- }
69
- async decodeToken(payloadString, expiredHandling = expired_jwt_handling_1.ExpiredJwtHandling.RETURN_NULL) {
70
- const encKeys = await this.encryptionKeyArray();
71
- let decKeys = Object.assign([], encKeys);
72
- if (this.decryptKeysPromise) {
73
- decKeys = decKeys.concat(await this.decryptKeysPromise);
74
- }
75
- const keysTried = [];
76
- let payload = null;
77
- for (let i = 0; i < decKeys.length && !payload; i++) {
78
- keysTried.push(string_ratchet_1.StringRatchet.obscure(decKeys[i], 1, 1));
79
- const logLevel = i === decKeys.length - 1 && this.parseFailureLogLevel ? this.parseFailureLogLevel : logger_level_name_1.LoggerLevelName.silly;
80
- payload = await JwtRatchet.invalidSafeDecode(payloadString, decKeys[i], logLevel);
81
- if (payload && i >= encKeys.length) {
82
- logger_1.Logger.logByLevel(this.decryptOnlyKeyUseLogLevel, 'Used old key to decode token : %s', string_ratchet_1.StringRatchet.obscure(decKeys[i], 2));
83
- }
84
- }
85
- if (payload) {
86
- const nowSeconds = Math.floor(Date.now() / 1000);
87
- const expSeconds = (payload === null || payload === void 0 ? void 0 : payload.exp) && payload.exp > nowSeconds * 100 ? Math.floor(payload.exp / 1000) : payload === null || payload === void 0 ? void 0 : payload.exp;
88
- const nbfSeconds = (payload === null || payload === void 0 ? void 0 : payload.nbf) && payload.nbf > nowSeconds * 100 ? Math.floor(payload.nbf / 1000) : payload === null || payload === void 0 ? void 0 : payload.nbf;
89
- if ((expSeconds && nowSeconds >= expSeconds) || (nbfSeconds && nowSeconds <= nbfSeconds)) {
90
- const age = nowSeconds - expSeconds;
91
- logger_1.Logger.debug('JWT token expired or before NBF : on %d, %s ago', payload.exp, duration_ratchet_1.DurationRatchet.formatMsDuration(age * 1000));
92
- switch (expiredHandling) {
93
- case expired_jwt_handling_1.ExpiredJwtHandling.THROW_EXCEPTION:
94
- throw new Error('JWT Token was expired');
95
- case expired_jwt_handling_1.ExpiredJwtHandling.ADD_FLAG:
96
- payload[JwtRatchet.EXPIRED_FLAG_NAME] = true;
97
- break;
98
- default:
99
- payload = null;
100
- break;
101
- }
102
- }
103
- }
104
- else {
105
- logger_1.Logger.warn('Unable to parse a payload (Tried %j) from : %s', keysTried, payloadString);
106
- }
107
- return payload;
108
- }
109
- async encryptionKeyArray() {
110
- const encKey = await this.encryptionKeyPromise;
111
- const rval = Array.isArray(encKey) ? encKey : [encKey];
112
- if (rval.length < 1) {
113
- throw new Error('Cannot create JwtRatchet with empty encryption key set');
114
- }
115
- return rval;
116
- }
117
- async selectRandomEncryptionKey() {
118
- const encKey = await this.encryptionKeyArray();
119
- const rval = encKey[Math.floor(Math.random() * encKey.length)];
120
- return rval;
121
- }
122
- async createTokenString(payload, expirationSeconds, overrideEncryptionKey) {
123
- const encKey = string_ratchet_1.StringRatchet.trimToNull(overrideEncryptionKey)
124
- ? string_ratchet_1.StringRatchet.trimToNull(overrideEncryptionKey)
125
- : await this.selectRandomEncryptionKey();
126
- require_ratchet_1.RequireRatchet.notNullOrUndefined(payload, 'payload');
127
- payload.jti = this.jtiGenerator ? this.jtiGenerator() : null;
128
- if (expirationSeconds) {
129
- const nowSeconds = Math.floor(Date.now() / 1000);
130
- const expires = nowSeconds + expirationSeconds;
131
- logger_1.Logger.debug('Forcing expiration to %d', expires);
132
- payload.exp = expires;
133
- }
134
- const token = jsonwebtoken_1.default.sign(payload, encKey);
135
- return token;
136
- }
137
- async refreshJWTString(tokenString, allowExpired, expirationSeconds) {
138
- const handling = allowExpired ? expired_jwt_handling_1.ExpiredJwtHandling.ADD_FLAG : expired_jwt_handling_1.ExpiredJwtHandling.THROW_EXCEPTION;
139
- const payload = await this.decodeToken(tokenString, handling);
140
- const originalDurationSeconds = payload.exp && payload.iat ? payload.exp - payload.iat : null;
141
- const newExpirationSeconds = expirationSeconds || originalDurationSeconds;
142
- JwtRatchet.removeJwtFields(payload);
143
- JwtRatchet.removeExpiredFlag(payload);
144
- const token = await this.createTokenString(payload, newExpirationSeconds);
145
- return token;
146
- }
147
- static decodeTokenNoVerify(token) {
148
- return jsonwebtoken_1.default.decode(token);
149
- }
150
- static removeJwtFields(ob) {
151
- if (ob) {
152
- ['iss', 'sub', 'aud', 'exp', 'nbf', 'iat', 'jti'].forEach((k) => {
153
- delete ob[k];
154
- });
155
- }
156
- }
157
- static removeExpiredFlag(ob) {
158
- if (ob) {
159
- delete ob[JwtRatchet.EXPIRED_FLAG_NAME];
160
- }
161
- }
162
- }
163
- exports.JwtRatchet = JwtRatchet;
164
- JwtRatchet.EXPIRED_FLAG_NAME = '__jwtServiceExpiredFlag';
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArrayRatchet = void 0;
4
- const require_ratchet_1 = require("./require-ratchet");
5
- const map_ratchet_1 = require("./map-ratchet");
6
- class ArrayRatchet {
7
- static wrapElementsInArray(input) {
8
- return input.map((i) => [i]);
9
- }
10
- static compareTwoArrays(ar1, ar2, fn) {
11
- ar1.sort(fn);
12
- ar2.sort(fn);
13
- let id1 = 0;
14
- let id2 = 0;
15
- const rval = {
16
- matching: [],
17
- setOneOnly: [],
18
- setTwoOnly: [],
19
- };
20
- while (id1 < ar1.length && id2 < ar2.length) {
21
- const aVal = ar1[id1];
22
- const pVal = ar2[id2];
23
- const comp = fn(aVal, pVal);
24
- if (comp === 0) {
25
- rval.matching.push(aVal);
26
- id1++;
27
- id2++;
28
- }
29
- else if (comp < 0) {
30
- rval.setOneOnly.push(aVal);
31
- id1++;
32
- }
33
- else {
34
- rval.setTwoOnly.push(pVal);
35
- id2++;
36
- }
37
- }
38
- if (id1 < ar1.length - 1) {
39
- rval.setOneOnly = rval.setOneOnly.concat(ar1.slice(id1));
40
- }
41
- if (id2 < ar2.length - 1) {
42
- rval.setTwoOnly = rval.setTwoOnly.concat(ar2.slice(id2));
43
- }
44
- return rval;
45
- }
46
- static extractSubarrayFromSortedByNumberField(input, fieldDotPath, minInclusive, maxExclusive) {
47
- if (!input || input.length === 0) {
48
- return input;
49
- }
50
- let bottomIdx = minInclusive === null ? 0 : ArrayRatchet.findSplit(input, fieldDotPath, minInclusive) || 0;
51
- const topIdx = maxExclusive === null ? input.length : ArrayRatchet.findSplit(input, fieldDotPath, maxExclusive);
52
- const bottomValue = map_ratchet_1.MapRatchet.findValueDotPath(input[bottomIdx], fieldDotPath);
53
- if (bottomIdx === input.length - 1 && bottomValue < minInclusive) {
54
- return [];
55
- }
56
- if (bottomIdx < input.length && bottomIdx < topIdx && bottomValue < minInclusive) {
57
- bottomIdx++;
58
- }
59
- return input.slice(bottomIdx, topIdx + 1);
60
- }
61
- static findSplit(input, fieldDotPath, target) {
62
- require_ratchet_1.RequireRatchet.notNullOrUndefined(input);
63
- require_ratchet_1.RequireRatchet.notNullOrUndefined(fieldDotPath);
64
- require_ratchet_1.RequireRatchet.notNullOrUndefined(target);
65
- if (input.length === 0 || map_ratchet_1.MapRatchet.findValueDotPath(input[0], fieldDotPath) > target) {
66
- return null;
67
- }
68
- let min = 0;
69
- let max = input.length;
70
- let rval = null;
71
- while (rval === null) {
72
- const curIdx = Math.floor((min + max) / 2);
73
- const curVal = map_ratchet_1.MapRatchet.findValueDotPath(input[curIdx], fieldDotPath);
74
- if (min === max || min === max - 1) {
75
- rval = min;
76
- }
77
- else if (curVal <= target) {
78
- min = curIdx;
79
- }
80
- else {
81
- max = curIdx;
82
- }
83
- }
84
- return rval;
85
- }
86
- }
87
- exports.ArrayRatchet = ArrayRatchet;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Base64Ratchet = void 0;
4
- const logger_1 = require("../logger/logger");
5
- class Base64Ratchet {
6
- static safeObjectToBase64JSON(input) {
7
- return !!input ? Base64Ratchet.generateBase64VersionOfString(JSON.stringify(input)) : null;
8
- }
9
- static safeBase64JSONParse(input) {
10
- let rval = {};
11
- try {
12
- if (input) {
13
- rval = JSON.parse(Base64Ratchet.base64StringToString(input));
14
- }
15
- }
16
- catch (err) {
17
- logger_1.Logger.warn('Error parsing b64/json : %s as json, got %s', input, err, err);
18
- rval = {};
19
- }
20
- return rval;
21
- }
22
- static generateBase64VersionOfBlob(blob) {
23
- return new Promise(function (resolve, reject) {
24
- if (!blob || blob.size == 0) {
25
- reject('Wont convert null or non-blob or empty blob');
26
- }
27
- else {
28
- const reader = new FileReader();
29
- reader.onloadend = function () {
30
- resolve(reader.result.toString());
31
- };
32
- reader.readAsDataURL(blob);
33
- }
34
- });
35
- }
36
- static generateBase64VersionOfString(input) {
37
- return Base64Ratchet.generateBase64VersionOfBuffer(Buffer.from(input));
38
- }
39
- static generateBase64VersionOfBuffer(input) {
40
- return input.toString('base64');
41
- }
42
- static base64StringToBuffer(input) {
43
- return Buffer.from(input, 'base64');
44
- }
45
- static base64StringToString(input, encoding = 'utf8') {
46
- return Buffer.from(input, 'base64').toString(encoding);
47
- }
48
- }
49
- exports.Base64Ratchet = Base64Ratchet;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BooleanRatchet = void 0;
4
- const number_ratchet_1 = require("./number-ratchet");
5
- class BooleanRatchet {
6
- static allTrue(vals, emptyArraysReturn = false) {
7
- let rval = null;
8
- if (!!vals) {
9
- if (vals.length > 0) {
10
- rval = vals.reduce((a, i) => a && i, true);
11
- }
12
- else {
13
- rval = emptyArraysReturn;
14
- }
15
- }
16
- else {
17
- rval = false;
18
- }
19
- return rval;
20
- }
21
- static anyTrue(vals, emptyArraysReturn = false) {
22
- let rval = null;
23
- if (!!vals) {
24
- if (vals.length > 0) {
25
- rval = vals.reduce((a, i) => a || i, false);
26
- }
27
- else {
28
- rval = emptyArraysReturn;
29
- }
30
- }
31
- else {
32
- rval = false;
33
- }
34
- return rval;
35
- }
36
- static parseBool(val) {
37
- return val === true || (val !== null && val !== undefined && typeof val === 'string' && val.toLowerCase() === 'true');
38
- }
39
- static intToBool(val) {
40
- if (val === null || val === undefined) {
41
- return false;
42
- }
43
- return number_ratchet_1.NumberRatchet.safeNumber(val) !== 0;
44
- }
45
- static boolToInt(val) {
46
- return BooleanRatchet.parseBool(val) ? 1 : 0;
47
- }
48
- }
49
- exports.BooleanRatchet = BooleanRatchet;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CompositeLastSuccessProvider = void 0;
4
- class CompositeLastSuccessProvider {
5
- constructor(src, mostRecentSrc = true) {
6
- if (!src || src.length == 0) {
7
- throw Error('Cannot create composite provider with null/empty sources');
8
- }
9
- this.sources = src;
10
- this.mostRecent = mostRecentSrc;
11
- }
12
- lastSuccess() {
13
- let rval = null;
14
- this.sources.forEach((s) => {
15
- const val = s.lastSuccess();
16
- if (val != null) {
17
- if (rval == null) {
18
- rval = val;
19
- }
20
- else {
21
- rval = (val > rval && this.mostRecent) || (val < rval && !this.mostRecent) ? val : rval;
22
- }
23
- }
24
- });
25
- return rval;
26
- }
27
- }
28
- exports.CompositeLastSuccessProvider = CompositeLastSuccessProvider;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DateRatchet = void 0;
4
- const luxon_1 = require("luxon");
5
- class DateRatchet {
6
- static formatFullDate(input) {
7
- return luxon_1.DateTime.fromJSDate(input).toFormat(DateRatchet.FULL_DATE_FORMAT);
8
- }
9
- static formatDefaultDateOnly(input) {
10
- return luxon_1.DateTime.fromJSDate(input).toFormat(DateRatchet.DEFAULT_DATE_FORMAT);
11
- }
12
- static parseDefaultDate(input) {
13
- const rval = luxon_1.DateTime.fromFormat(input, DateRatchet.DEFAULT_DATE_FORMAT).toJSDate();
14
- return rval;
15
- }
16
- static parseCommonUsDate(input) {
17
- let rval = null;
18
- if (!!input) {
19
- let templ = DateRatchet.COMMON_US_DATE_FORMAT;
20
- if (input.indexOf('-') === 2) {
21
- templ = templ.split('/').join('-');
22
- }
23
- rval = luxon_1.DateTime.fromFormat(input, templ).toJSDate();
24
- }
25
- return rval;
26
- }
27
- }
28
- exports.DateRatchet = DateRatchet;
29
- DateRatchet.COMMON_US_DATE_FORMAT = 'MM/dd/yyyy';
30
- DateRatchet.DEFAULT_DATE_FORMAT = 'yyyy-MM-dd';
31
- DateRatchet.FULL_DATE_FORMAT = 'yyyy-MM-dd_HH_mm_ss';
32
- DateRatchet.PACIFIC_TIME_ZONE = 'America/Los_Angeles';
33
- DateRatchet.UTC_TIME_ZONE = 'etc/UTC';
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DurationRatchet = void 0;
4
- const luxon_1 = require("luxon");
5
- const number_ratchet_1 = require("./number-ratchet");
6
- class DurationRatchet {
7
- static formatMsDuration(ms, includeMS = false) {
8
- const rem_ms = Math.floor(ms % 1000);
9
- const seconds = Math.floor(ms / 1000) % 60;
10
- const minutes = Math.floor(ms / (1000 * 60)) % 60;
11
- const hours = Math.floor(ms / (1000 * 60 * 60)) % 24;
12
- const days = Math.floor(ms / (1000 * 60 * 60 * 24));
13
- const f = number_ratchet_1.NumberRatchet.leadingZeros;
14
- let rval = f(hours, 2) + 'h' + f(minutes, 2) + 'm';
15
- rval += includeMS ? f(seconds, 2) + '.' + f(rem_ms, 3) + 's' : f(seconds, 2) + 's';
16
- if (days > 0) {
17
- rval = days + 'd' + rval;
18
- }
19
- return rval;
20
- }
21
- static colonFormatMsDuration(ms, includeMS = false) {
22
- const rem_ms = ms % 1000;
23
- const seconds = Math.floor(ms / 1000) % 60;
24
- const minutes = Math.floor(ms / (1000 * 60)) % 60;
25
- const hours = Math.floor(ms / (1000 * 60 * 60));
26
- const f = number_ratchet_1.NumberRatchet.leadingZeros;
27
- let rval = f(hours, 2) + ':' + f(minutes, 2) + ':';
28
- rval += includeMS ? f(seconds, 2) + '.' + f(rem_ms, 3) : f(seconds, 2);
29
- return rval;
30
- }
31
- static daysBetween(d1, d2) {
32
- const dur = luxon_1.DateTime.fromJSDate(d1).diff(luxon_1.DateTime.fromJSDate(d2));
33
- return dur.days;
34
- }
35
- static createSteps(startEpochMS, endEpochMS, timezone, outputFormat, stepUnit) {
36
- let curDate = luxon_1.DateTime.fromMillis(startEpochMS).setZone(timezone);
37
- const endDate = luxon_1.DateTime.fromMillis(endEpochMS);
38
- const rval = [];
39
- while (curDate < endDate) {
40
- rval.push(curDate.toFormat(outputFormat));
41
- curDate = curDate.plus(stepUnit);
42
- }
43
- return rval;
44
- }
45
- }
46
- exports.DurationRatchet = DurationRatchet;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnumRatchet = void 0;
4
- const ts_enum_util_1 = require("ts-enum-util");
5
- const string_ratchet_1 = require("./string-ratchet");
6
- class EnumRatchet {
7
- static listEnumKeys(enumeration) {
8
- const rval = (0, ts_enum_util_1.$enum)(enumeration).getValues();
9
- return rval;
10
- }
11
- static keyToEnum(enumeration, val, caseSensitive = false) {
12
- const e = (0, ts_enum_util_1.$enum)(enumeration);
13
- let rval = null;
14
- if (!!val) {
15
- rval = e.asValueOrDefault(val, null);
16
- if (!rval && !caseSensitive) {
17
- const keys = EnumRatchet.listEnumKeys(enumeration);
18
- const mKey = keys.find((k) => k.toUpperCase() === val.toUpperCase());
19
- if (!!mKey) {
20
- rval = e.asValueOrDefault(mKey, null);
21
- }
22
- }
23
- }
24
- return rval;
25
- }
26
- static parseCsvToEnumArray(enumeration, input) {
27
- const split = string_ratchet_1.StringRatchet.trimToEmpty(input)
28
- .split(',')
29
- .map((s) => s.trim());
30
- const rval = split.map((s) => EnumRatchet.keyToEnum(enumeration, s)).filter((s) => !!s);
31
- return rval;
32
- }
33
- }
34
- exports.EnumRatchet = EnumRatchet;