@bitblit/ratchet-common 4.0.130-alpha → 4.0.133-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 (217) hide show
  1. package/lib/index.d.ts +2 -1
  2. package/lib/index.mjs +2 -0
  3. package/lib/index.mjs.map +1 -0
  4. package/lib/template/ratchet-template-renderer.d.ts +4 -0
  5. package/lib/{lang → transform}/transform-ratchet.d.ts +1 -1
  6. package/package.json +5 -3
  7. package/lib/2d/line-2d.js +0 -2
  8. package/lib/2d/line-2d.js.map +0 -1
  9. package/lib/2d/plane-2d.js +0 -2
  10. package/lib/2d/plane-2d.js.map +0 -1
  11. package/lib/2d/point-2d.js +0 -2
  12. package/lib/2d/point-2d.js.map +0 -1
  13. package/lib/2d/poly-line-2d.js +0 -2
  14. package/lib/2d/poly-line-2d.js.map +0 -1
  15. package/lib/2d/ratchet-2d.js +0 -246
  16. package/lib/2d/ratchet-2d.js.map +0 -1
  17. package/lib/2d/ratchet-2d.spec.js +0 -118
  18. package/lib/2d/ratchet-2d.spec.js.map +0 -1
  19. package/lib/build/build-information.js +0 -2
  20. package/lib/build/build-information.js.map +0 -1
  21. package/lib/build/ratchet-common-info.js +0 -15
  22. package/lib/build/ratchet-common-info.js.map +0 -1
  23. package/lib/histogram/histogram-entry.js +0 -2
  24. package/lib/histogram/histogram-entry.js.map +0 -1
  25. package/lib/histogram/histogram.js +0 -49
  26. package/lib/histogram/histogram.js.map +0 -1
  27. package/lib/histogram/histogram.spec.js +0 -20
  28. package/lib/histogram/histogram.spec.js.map +0 -1
  29. package/lib/index.js +0 -74
  30. package/lib/index.js.map +0 -1
  31. package/lib/jwt/common-jwt-token.js +0 -2
  32. package/lib/jwt/common-jwt-token.js.map +0 -1
  33. package/lib/jwt/expired-jwt-handling.js +0 -7
  34. package/lib/jwt/expired-jwt-handling.js.map +0 -1
  35. package/lib/jwt/jwt-ratchet-like.js +0 -2
  36. package/lib/jwt/jwt-ratchet-like.js.map +0 -1
  37. package/lib/jwt/jwt-ratchet.js +0 -166
  38. package/lib/jwt/jwt-ratchet.js.map +0 -1
  39. package/lib/jwt/jwt-ratchet.spec.js +0 -50
  40. package/lib/jwt/jwt-ratchet.spec.js.map +0 -1
  41. package/lib/jwt/jwt-token-base.js +0 -2
  42. package/lib/jwt/jwt-token-base.js.map +0 -1
  43. package/lib/lang/array-ratchet.js +0 -84
  44. package/lib/lang/array-ratchet.js.map +0 -1
  45. package/lib/lang/array-ratchet.spec.js +0 -69
  46. package/lib/lang/array-ratchet.spec.js.map +0 -1
  47. package/lib/lang/base64-ratchet.js +0 -46
  48. package/lib/lang/base64-ratchet.js.map +0 -1
  49. package/lib/lang/base64-ratchet.spec.js +0 -29
  50. package/lib/lang/base64-ratchet.spec.js.map +0 -1
  51. package/lib/lang/boolean-ratchet.js +0 -46
  52. package/lib/lang/boolean-ratchet.js.map +0 -1
  53. package/lib/lang/boolean-ratchet.spec.js +0 -82
  54. package/lib/lang/boolean-ratchet.spec.js.map +0 -1
  55. package/lib/lang/composite-last-success-provider.js +0 -27
  56. package/lib/lang/composite-last-success-provider.js.map +0 -1
  57. package/lib/lang/composite-last-success-provider.spec.js +0 -27
  58. package/lib/lang/composite-last-success-provider.spec.js.map +0 -1
  59. package/lib/lang/date-ratchet.js +0 -31
  60. package/lib/lang/date-ratchet.js.map +0 -1
  61. package/lib/lang/date-ratchet.spec.js +0 -22
  62. package/lib/lang/date-ratchet.spec.js.map +0 -1
  63. package/lib/lang/duration-ratchet.js +0 -43
  64. package/lib/lang/duration-ratchet.js.map +0 -1
  65. package/lib/lang/duration-ratchet.spec.js +0 -40
  66. package/lib/lang/duration-ratchet.spec.js.map +0 -1
  67. package/lib/lang/enum-ratchet.js +0 -31
  68. package/lib/lang/enum-ratchet.js.map +0 -1
  69. package/lib/lang/enum-ratchet.spec.js +0 -32
  70. package/lib/lang/enum-ratchet.spec.js.map +0 -1
  71. package/lib/lang/error-ratchet.js +0 -45
  72. package/lib/lang/error-ratchet.js.map +0 -1
  73. package/lib/lang/error-ratchet.spec.js +0 -21
  74. package/lib/lang/error-ratchet.spec.js.map +0 -1
  75. package/lib/lang/esm-ratchet.js +0 -18
  76. package/lib/lang/esm-ratchet.js.map +0 -1
  77. package/lib/lang/expiring-object.js +0 -73
  78. package/lib/lang/expiring-object.js.map +0 -1
  79. package/lib/lang/expiring-object.spec.js +0 -52
  80. package/lib/lang/expiring-object.spec.js.map +0 -1
  81. package/lib/lang/geolocation-ratchet.js +0 -264
  82. package/lib/lang/geolocation-ratchet.js.map +0 -1
  83. package/lib/lang/geolocation-ratchet.spec.js +0 -75
  84. package/lib/lang/geolocation-ratchet.spec.js.map +0 -1
  85. package/lib/lang/global-ratchet.js +0 -44
  86. package/lib/lang/global-ratchet.js.map +0 -1
  87. package/lib/lang/global-ratchet.spec.js +0 -15
  88. package/lib/lang/global-ratchet.spec.js.map +0 -1
  89. package/lib/lang/key-value.js +0 -5
  90. package/lib/lang/key-value.js.map +0 -1
  91. package/lib/lang/last-success-provider.js +0 -2
  92. package/lib/lang/last-success-provider.js.map +0 -1
  93. package/lib/lang/map-ratchet.js +0 -165
  94. package/lib/lang/map-ratchet.js.map +0 -1
  95. package/lib/lang/map-ratchet.spec.js +0 -91
  96. package/lib/lang/map-ratchet.spec.js.map +0 -1
  97. package/lib/lang/no.js +0 -5
  98. package/lib/lang/no.js.map +0 -1
  99. package/lib/lang/no.spec.js +0 -8
  100. package/lib/lang/no.spec.js.map +0 -1
  101. package/lib/lang/number-ratchet.js +0 -157
  102. package/lib/lang/number-ratchet.js.map +0 -1
  103. package/lib/lang/number-ratchet.spec.js +0 -119
  104. package/lib/lang/number-ratchet.spec.js.map +0 -1
  105. package/lib/lang/parsed-url.js +0 -2
  106. package/lib/lang/parsed-url.js.map +0 -1
  107. package/lib/lang/promise-ratchet.js +0 -139
  108. package/lib/lang/promise-ratchet.js.map +0 -1
  109. package/lib/lang/promise-ratchet.spec.js +0 -75
  110. package/lib/lang/promise-ratchet.spec.js.map +0 -1
  111. package/lib/lang/require-ratchet.js +0 -56
  112. package/lib/lang/require-ratchet.js.map +0 -1
  113. package/lib/lang/require-ratchet.spec.js +0 -81
  114. package/lib/lang/require-ratchet.spec.js.map +0 -1
  115. package/lib/lang/stop-watch.js +0 -115
  116. package/lib/lang/stop-watch.js.map +0 -1
  117. package/lib/lang/string-ratchet.js +0 -203
  118. package/lib/lang/string-ratchet.js.map +0 -1
  119. package/lib/lang/string-ratchet.spec.js +0 -159
  120. package/lib/lang/string-ratchet.spec.js.map +0 -1
  121. package/lib/lang/time-zone-ratchet.js +0 -79
  122. package/lib/lang/time-zone-ratchet.js.map +0 -1
  123. package/lib/lang/time-zone-ratchet.spec.js +0 -41
  124. package/lib/lang/time-zone-ratchet.spec.js.map +0 -1
  125. package/lib/lang/timeout-token.js +0 -18
  126. package/lib/lang/timeout-token.js.map +0 -1
  127. package/lib/lang/timeout-token.spec.js +0 -10
  128. package/lib/lang/timeout-token.spec.js.map +0 -1
  129. package/lib/lang/transform-ratchet.js +0 -67
  130. package/lib/lang/transform-ratchet.js.map +0 -1
  131. package/lib/lang/transform-ratchet.spec.js +0 -119
  132. package/lib/lang/transform-ratchet.spec.js.map +0 -1
  133. package/lib/logger/classic-single-line-log-message-formatter.js +0 -14
  134. package/lib/logger/classic-single-line-log-message-formatter.js.map +0 -1
  135. package/lib/logger/log-message-builder.js +0 -49
  136. package/lib/logger/log-message-builder.js.map +0 -1
  137. package/lib/logger/log-message-format-type.js +0 -7
  138. package/lib/logger/log-message-format-type.js.map +0 -1
  139. package/lib/logger/log-message-formatter.js +0 -2
  140. package/lib/logger/log-message-formatter.js.map +0 -1
  141. package/lib/logger/log-message-processor.js +0 -2
  142. package/lib/logger/log-message-processor.js.map +0 -1
  143. package/lib/logger/log-message.js +0 -2
  144. package/lib/logger/log-message.js.map +0 -1
  145. package/lib/logger/log-snapshot.js +0 -2
  146. package/lib/logger/log-snapshot.js.map +0 -1
  147. package/lib/logger/logger-instance.js +0 -209
  148. package/lib/logger/logger-instance.js.map +0 -1
  149. package/lib/logger/logger-level-name.js +0 -10
  150. package/lib/logger/logger-level-name.js.map +0 -1
  151. package/lib/logger/logger-meta.js +0 -2
  152. package/lib/logger/logger-meta.js.map +0 -1
  153. package/lib/logger/logger-options.js +0 -2
  154. package/lib/logger/logger-options.js.map +0 -1
  155. package/lib/logger/logger-output-function.js +0 -7
  156. package/lib/logger/logger-output-function.js.map +0 -1
  157. package/lib/logger/logger-ring-buffer.js +0 -72
  158. package/lib/logger/logger-ring-buffer.js.map +0 -1
  159. package/lib/logger/logger-util.js +0 -46
  160. package/lib/logger/logger-util.js.map +0 -1
  161. package/lib/logger/logger-util.spec.js +0 -10
  162. package/lib/logger/logger-util.spec.js.map +0 -1
  163. package/lib/logger/logger.js +0 -136
  164. package/lib/logger/logger.js.map +0 -1
  165. package/lib/logger/logger.spec.js +0 -135
  166. package/lib/logger/logger.spec.js.map +0 -1
  167. package/lib/logger/none-log-message-formatter.js +0 -6
  168. package/lib/logger/none-log-message-formatter.js.map +0 -1
  169. package/lib/logger/structured-json-log-message-formatter.js +0 -20
  170. package/lib/logger/structured-json-log-message-formatter.js.map +0 -1
  171. package/lib/network/browser-local-ip-provider.js +0 -22
  172. package/lib/network/browser-local-ip-provider.js.map +0 -1
  173. package/lib/network/browser-local-ip-provider.spec.js +0 -17
  174. package/lib/network/browser-local-ip-provider.spec.js.map +0 -1
  175. package/lib/network/fixed-local-ip-provider.js +0 -10
  176. package/lib/network/fixed-local-ip-provider.js.map +0 -1
  177. package/lib/network/local-ip-provider.js +0 -2
  178. package/lib/network/local-ip-provider.js.map +0 -1
  179. package/lib/network/network-ratchet.js +0 -104
  180. package/lib/network/network-ratchet.js.map +0 -1
  181. package/lib/network/network-ratchet.spec.js +0 -14
  182. package/lib/network/network-ratchet.spec.js.map +0 -1
  183. package/lib/stream/buffer-writable.js +0 -17
  184. package/lib/stream/buffer-writable.js.map +0 -1
  185. package/lib/stream/multi-stream.js +0 -13
  186. package/lib/stream/multi-stream.js.map +0 -1
  187. package/lib/stream/stream-ratchet.js +0 -69
  188. package/lib/stream/stream-ratchet.js.map +0 -1
  189. package/lib/stream/stream-ratchet.spec.js +0 -14
  190. package/lib/stream/stream-ratchet.spec.js.map +0 -1
  191. package/lib/stream/string-writable.js +0 -15
  192. package/lib/stream/string-writable.js.map +0 -1
  193. package/lib/stream/string-writable.spec.js +0 -13
  194. package/lib/stream/string-writable.spec.js.map +0 -1
  195. package/lib/third-party/google/google-recaptcha-ratchet.js +0 -30
  196. package/lib/third-party/google/google-recaptcha-ratchet.js.map +0 -1
  197. package/lib/third-party/google/google-recaptcha-ratchet.spec.js +0 -21
  198. package/lib/third-party/google/google-recaptcha-ratchet.spec.js.map +0 -1
  199. package/lib/third-party/twilio/twilio-ratchet.js +0 -75
  200. package/lib/third-party/twilio/twilio-ratchet.js.map +0 -1
  201. package/lib/transform/built-in-transforms.js +0 -192
  202. package/lib/transform/built-in-transforms.js.map +0 -1
  203. package/lib/transform/transform-rule.js +0 -2
  204. package/lib/transform/transform-rule.js.map +0 -1
  205. package/lib/tx/transaction-configuration.js +0 -2
  206. package/lib/tx/transaction-configuration.js.map +0 -1
  207. package/lib/tx/transaction-final-state.js +0 -7
  208. package/lib/tx/transaction-final-state.js.map +0 -1
  209. package/lib/tx/transaction-ratchet.js +0 -77
  210. package/lib/tx/transaction-ratchet.js.map +0 -1
  211. package/lib/tx/transaction-ratchet.spec.js +0 -131
  212. package/lib/tx/transaction-ratchet.spec.js.map +0 -1
  213. package/lib/tx/transaction-result.js +0 -2
  214. package/lib/tx/transaction-result.js.map +0 -1
  215. package/lib/tx/transaction-step.js +0 -2
  216. package/lib/tx/transaction-step.js.map +0 -1
  217. /package/lib/{lang → transform}/transform-ratchet.spec.d.ts +0 -0
@@ -1,91 +0,0 @@
1
- import { MapRatchet } from './map-ratchet.js';
2
- describe('#toKeyValueList', function () {
3
- it('should expand a maps nested keys', function () {
4
- const test = { 'a.b': 'c', 'c.d[0].e': 2 };
5
- const out = MapRatchet.expandNestedKeys(test);
6
- expect(out).toBeTruthy();
7
- expect(out.a).toBeTruthy();
8
- expect(out.a.b).toBeTruthy();
9
- expect(out.a.b).toEqual('c');
10
- expect(out.c).toBeTruthy();
11
- expect(out.c.d).toBeTruthy();
12
- expect(out.c.d.length).toEqual(1);
13
- expect(out.c.d[0].e).toBeTruthy();
14
- expect(out.c.d[0].e).toEqual(2);
15
- });
16
- it('should convert a map to a key-value list and back', function () {
17
- const test = { key1: 'value1', key2: 'value2' };
18
- const kvl = MapRatchet.toKeyValueList(test);
19
- expect(kvl.length).toEqual(2);
20
- const back = MapRatchet.fromKeyValueList(kvl);
21
- expect(back['key1']).toEqual('value1');
22
- expect(back['key2']).toEqual('value2');
23
- });
24
- it('should remove null and empty strings but not 0', function () {
25
- const test = {
26
- key1: '',
27
- key2: null,
28
- key3: 0,
29
- key4: 'fine',
30
- key5: {
31
- key6: null,
32
- key7: 'also_fine',
33
- },
34
- };
35
- const clean = MapRatchet.cleanup(test);
36
- expect(Object.keys(clean).length).toEqual(3);
37
- expect(Object.keys(clean).indexOf('key1')).toEqual(-1);
38
- expect(Object.keys(clean).indexOf('key2')).toEqual(-1);
39
- expect(Object.keys(clean).indexOf('key3')).toBeGreaterThan(-1);
40
- expect(Object.keys(clean).indexOf('key4')).toBeGreaterThan(-1);
41
- expect(Object.keys(clean).indexOf('key5')).toBeGreaterThan(-1);
42
- expect(clean['key5']['key7']).toEqual('also_fine');
43
- });
44
- it('should extract values ignoring case', function () {
45
- const test = {
46
- 'this-Test': 'a',
47
- test22: 'b',
48
- };
49
- expect(MapRatchet.extractValueFromMapIgnoreCase(test, 'THIS-TEST')).toEqual('a');
50
- expect(MapRatchet.extractValueFromMapIgnoreCase(test, 'tEst22')).toEqual('b');
51
- });
52
- it('should group values', function () {
53
- const test = [
54
- {
55
- id: 1,
56
- type: 'a',
57
- },
58
- {
59
- id: 2,
60
- type: 'a',
61
- },
62
- {
63
- id: 3,
64
- type: 'b',
65
- },
66
- ];
67
- const grouped = MapRatchet.groupByProperty(test, 'type');
68
- expect(grouped).toBeTruthy();
69
- const aGroup = grouped.get('a');
70
- expect(aGroup).toBeTruthy();
71
- expect(aGroup.length).toEqual(2);
72
- expect(grouped.has('b')).toBeTruthy();
73
- expect(grouped.has('c')).toBeFalsy();
74
- });
75
- it('should fetch a value with a case-insensitive key', function () {
76
- const testOb = {
77
- test1: 'a',
78
- Test2: 'b',
79
- test3: 'c',
80
- Test3: 'd',
81
- };
82
- expect(MapRatchet.caseInsensitiveAccess(null, null)).toBeNull();
83
- expect(MapRatchet.caseInsensitiveAccess({}, null)).toBeNull();
84
- expect(MapRatchet.caseInsensitiveAccess(null, 'a')).toBeNull();
85
- expect(MapRatchet.caseInsensitiveAccess(testOb, 'test1')).toEqual('a');
86
- expect(MapRatchet.caseInsensitiveAccess(testOb, 'test2')).toEqual('b');
87
- expect(MapRatchet.caseInsensitiveAccess(testOb, 'TEST2')).toEqual('b');
88
- expect(MapRatchet.caseInsensitiveAccess(testOb, 'test3')).toEqual('c');
89
- });
90
- });
91
- //# sourceMappingURL=map-ratchet.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map-ratchet.spec.js","sourceRoot":"","sources":["../../src/lang/map-ratchet.spec.ts"],"names":[],"mappings":"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"}
package/lib/lang/no.js DELETED
@@ -1,5 +0,0 @@
1
- export class No {
2
- static op(...args) {
3
- }
4
- }
5
- //# sourceMappingURL=no.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no.js","sourceRoot":"","sources":["../../src/lang/no.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,EAAE;IAEN,MAAM,CAAC,EAAE,CAAC,GAAG,IAAW;IAE/B,CAAC;CACF"}
@@ -1,8 +0,0 @@
1
- import { PromiseRatchet } from './promise-ratchet.js';
2
- import { No } from './no.js';
3
- describe('#no', function () {
4
- it('should do nothing', () => {
5
- PromiseRatchet.wait(100).then(No.op);
6
- });
7
- });
8
- //# sourceMappingURL=no.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no.spec.js","sourceRoot":"","sources":["../../src/lang/no.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,QAAQ,CAAC,KAAK,EAAE;IACd,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,157 +0,0 @@
1
- import { Logger } from '../logger/logger.js';
2
- import { RequireRatchet } from './require-ratchet.js';
3
- class NumberRatchet {
4
- static MAX_LEADING_ZEROS_FORMAT_LENGTH = 1000;
5
- static toFixedDecimalNumber(input, placesAfterPoint) {
6
- const v = NumberRatchet.safeNumber(input);
7
- return v === null || v === undefined ? v : NumberRatchet.safeNumber(v.toFixed(placesAfterPoint));
8
- }
9
- static leadingZeros(val, size) {
10
- const sVal = String(val);
11
- if (sVal.length < size) {
12
- let pad = '0000';
13
- if (size > NumberRatchet.MAX_LEADING_ZEROS_FORMAT_LENGTH) {
14
- throw 'Cannot format number that large (max length is ' + NumberRatchet.MAX_LEADING_ZEROS_FORMAT_LENGTH + ')';
15
- }
16
- while (pad.length < size) {
17
- pad = pad + pad;
18
- }
19
- return (pad + sVal).slice(-1 * size);
20
- }
21
- else {
22
- return sVal;
23
- }
24
- }
25
- static between(inTest, inP1, inP2) {
26
- const test = NumberRatchet.safeNumber(inTest);
27
- const p1 = NumberRatchet.safeNumber(inP1);
28
- const p2 = NumberRatchet.safeNumber(inP2);
29
- return (test >= p1 && test <= p2) || (test >= p2 && test <= p1);
30
- }
31
- static safeNumber(input, ifNotNumber = null, useDefaultForNullAndUndefined) {
32
- let rval = undefined;
33
- if (input !== null && input !== undefined) {
34
- const type = typeof input;
35
- if (type == 'number') {
36
- rval = input;
37
- }
38
- else if (type == 'string') {
39
- if (input.trim().length === 0) {
40
- rval = ifNotNumber;
41
- }
42
- else {
43
- rval = Number.parseFloat(input);
44
- }
45
- }
46
- else {
47
- Logger.warn('Value is of type %s, returning default', type);
48
- rval = ifNotNumber;
49
- }
50
- if (isNaN(rval)) {
51
- Logger.debug('Parsed string to NaN - using NaN value from param');
52
- rval = ifNotNumber;
53
- }
54
- }
55
- else {
56
- rval = useDefaultForNullAndUndefined ? ifNotNumber : input;
57
- }
58
- return rval;
59
- }
60
- static numberCSVToList(inputCSV) {
61
- let rval = null;
62
- if (inputCSV) {
63
- rval = inputCSV.split(',').map((s) => {
64
- return NumberRatchet.safeNumber(s.trim());
65
- });
66
- rval = rval.filter((r) => typeof r === 'number' && !isNaN(r));
67
- }
68
- return rval;
69
- }
70
- static fitToWindow(val, b1, b2) {
71
- let rval = val;
72
- if (val === null || b1 === null || b2 === null || b1 < 0 || b2 < 0 || val < 0) {
73
- throw new Error('All values must be non-null and larger than 0');
74
- }
75
- const low = Math.min(b1, b2);
76
- const high = Math.max(b1, b2);
77
- const windowSize = high - low;
78
- if (high === low) {
79
- rval = high;
80
- }
81
- else {
82
- while (rval < low) {
83
- rval += windowSize;
84
- }
85
- while (rval > high) {
86
- rval -= windowSize;
87
- }
88
- }
89
- return rval;
90
- }
91
- static groupNumbersIntoContiguousRanges(inputData, minRangeSize = 3) {
92
- RequireRatchet.notNullOrUndefined(inputData);
93
- const input = Object.assign([], inputData);
94
- input.sort((a, b) => a - b);
95
- const singles = [];
96
- const ranges = [];
97
- let start = 0;
98
- for (let i = 1; i < input.length; i++) {
99
- if (input[i] === input[i - 1] + 1) {
100
- }
101
- else {
102
- if (start === i - 1) {
103
- singles.push(input[i - 1]);
104
- }
105
- else {
106
- const rangeSize = i - start;
107
- if (rangeSize < minRangeSize) {
108
- for (let j = start; j < i; j++) {
109
- singles.push(input[j]);
110
- }
111
- }
112
- else {
113
- ranges.push({
114
- min: input[start],
115
- max: input[i - 1],
116
- });
117
- }
118
- }
119
- start = i;
120
- }
121
- }
122
- return {
123
- singles: singles,
124
- ranges: ranges,
125
- };
126
- }
127
- static distributeItemsEvenly(items, buckets) {
128
- RequireRatchet.notNullOrUndefined(items, 'items');
129
- RequireRatchet.notNullOrUndefined(buckets, 'buckets');
130
- RequireRatchet.true(items > 0 && items === Math.floor(items), 'Items integer larger than 0');
131
- RequireRatchet.true(buckets > 0 && buckets === Math.floor(buckets), 'Buckets integer larger than 0');
132
- const offset = buckets / items;
133
- const rval = [];
134
- for (let i = 0; i < buckets; i++) {
135
- rval.push(0);
136
- }
137
- let loc = 0;
138
- let rem = items;
139
- while (rem > 0) {
140
- rval[Math.floor(loc) % buckets]++;
141
- rem--;
142
- loc += offset;
143
- }
144
- return rval;
145
- }
146
- static createRange(minInclusive, maxExclusive, step = 1) {
147
- const rval = [];
148
- let val = minInclusive;
149
- while (val < maxExclusive) {
150
- rval.push(val);
151
- val += step;
152
- }
153
- return rval;
154
- }
155
- }
156
- export { NumberRatchet };
157
- //# sourceMappingURL=number-ratchet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"number-ratchet.js","sourceRoot":"","sources":["../../src/lang/number-ratchet.ts"],"names":[],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- import { NumberRatchet } from './number-ratchet.js';
2
- import fs from 'fs';
3
- import path from 'path';
4
- import { EsmRatchet } from './esm-ratchet.js';
5
- describe('#toFixedDecimalNumber', function () {
6
- it('should convert "5.1234 to 5.12', function () {
7
- expect(NumberRatchet.toFixedDecimalNumber(5.1234, 2)).toEqual(5.12);
8
- expect(NumberRatchet.toFixedDecimalNumber('5.1234', 2)).toEqual(5.12);
9
- });
10
- it('should convert "5.5678 to 5.57', function () {
11
- expect(NumberRatchet.toFixedDecimalNumber(5.5678, 2)).toEqual(5.57);
12
- expect(NumberRatchet.toFixedDecimalNumber('5.5678', 2)).toEqual(5.57);
13
- });
14
- });
15
- describe('#leadingZeros', function () {
16
- it('should convert "5" to 05', function () {
17
- const result = NumberRatchet.leadingZeros('5', 2);
18
- expect(result).toEqual('05');
19
- });
20
- it('should leave 166 alone', function () {
21
- const result = NumberRatchet.leadingZeros('166', 2);
22
- expect(result).toEqual('166');
23
- });
24
- });
25
- describe('#safeToNumber', function () {
26
- it('should convert "55" to 55', function () {
27
- const result = NumberRatchet.safeNumber('55');
28
- expect(result).toEqual(55);
29
- });
30
- it('should leave 66 alone', function () {
31
- const result = NumberRatchet.safeNumber(66);
32
- expect(result).toEqual(66);
33
- });
34
- it('should return the default when it cannot parse', function () {
35
- const result = NumberRatchet.safeNumber({ test: 'test' }, 42);
36
- expect(result).toEqual(42);
37
- });
38
- it('should return the default for the empty string', function () {
39
- const result = NumberRatchet.safeNumber({ test: '' }, 42);
40
- expect(result).toEqual(42);
41
- });
42
- it('should return the default for null/undefined if set true', function () {
43
- const result = NumberRatchet.safeNumber(null, 42, true);
44
- expect(result).toEqual(42);
45
- const result2 = NumberRatchet.safeNumber(undefined, 46, true);
46
- expect(result2).toEqual(46);
47
- });
48
- it('should return the passed value for null/undefined if set false', function () {
49
- const result = NumberRatchet.safeNumber(null, 42, false);
50
- expect(result).toEqual(null);
51
- const result2 = NumberRatchet.safeNumber(undefined, 46, false);
52
- expect(result2).toEqual(undefined);
53
- });
54
- it('should return the passed value for null/undefined if not set', function () {
55
- const result = NumberRatchet.safeNumber(null, 42);
56
- expect(result).toEqual(null);
57
- const result2 = NumberRatchet.safeNumber(undefined, 46);
58
- expect(result2).toEqual(undefined);
59
- });
60
- });
61
- describe('#parseCSV', function () {
62
- it('should convert "1,2,3" to [1,2,3]', function () {
63
- const result = NumberRatchet.numberCSVToList('1,2,3');
64
- expect(result.length).toEqual(3);
65
- });
66
- it('should convert " 1, 2,3 " to [1,2,3]', function () {
67
- const result = NumberRatchet.numberCSVToList(' 1, 2,3 ');
68
- expect(result.length).toEqual(3);
69
- });
70
- it('should convert " a1, 2,b " to [2]', function () {
71
- const result = NumberRatchet.numberCSVToList(' a1, 2,b ');
72
- expect(result.length).toEqual(1);
73
- expect(result[0]).toEqual(2);
74
- });
75
- });
76
- describe('#fitToWindow', function () {
77
- it('should fit input to the window', function () {
78
- expect(NumberRatchet.fitToWindow(5, 8, 10)).toEqual(9);
79
- expect(NumberRatchet.fitToWindow(8, 2, 10)).toEqual(8);
80
- expect(NumberRatchet.fitToWindow(8, 9, 9)).toEqual(9);
81
- expect(NumberRatchet.fitToWindow(12, 2, 10)).toEqual(4);
82
- });
83
- });
84
- describe('#groupNumbersIntoContiguousRanges', function () {
85
- it('should group numbers', function () {
86
- let input = JSON.parse(fs.readFileSync(path.join(EsmRatchet.fetchDirName(import.meta.url), '../../../../test-data/number_set.json')).toString());
87
- input = input.map((i) => NumberRatchet.safeNumber(i));
88
- const grouped = NumberRatchet.groupNumbersIntoContiguousRanges(input, 5);
89
- expect(grouped).toBeTruthy();
90
- });
91
- });
92
- describe('#distributeItemsEvenly', function () {
93
- it('should distribute evenly', function () {
94
- const test1 = NumberRatchet.distributeItemsEvenly(4, 6);
95
- expect(test1).toBeTruthy();
96
- const test2 = NumberRatchet.distributeItemsEvenly(12, 6);
97
- expect(test2).toBeTruthy();
98
- const test3 = NumberRatchet.distributeItemsEvenly(5, 6);
99
- expect(test3).toBeTruthy();
100
- const test4 = NumberRatchet.distributeItemsEvenly(192, 11);
101
- expect(test4).toBeTruthy();
102
- const test5 = NumberRatchet.distributeItemsEvenly(11, 192);
103
- expect(test5).toBeTruthy();
104
- });
105
- });
106
- describe('#createRange', function () {
107
- it('should create ranges', function () {
108
- const test1 = NumberRatchet.createRange(0, 5, 1);
109
- expect(test1).toBeTruthy();
110
- expect(test1.length).toEqual(5);
111
- const test2 = NumberRatchet.createRange(1, 5, 1);
112
- expect(test2).toBeTruthy();
113
- expect(test2.length).toEqual(4);
114
- const test3 = NumberRatchet.createRange(0, 10, 2);
115
- expect(test3).toBeTruthy();
116
- expect(test3.length).toEqual(5);
117
- });
118
- });
119
- //# sourceMappingURL=number-ratchet.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"number-ratchet.spec.js","sourceRoot":"","sources":["../../src/lang/number-ratchet.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=parsed-url.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parsed-url.js","sourceRoot":"","sources":["../../src/lang/parsed-url.ts"],"names":[],"mappings":""}
@@ -1,139 +0,0 @@
1
- import { Logger } from '../logger/logger.js';
2
- import { ArrayRatchet } from './array-ratchet.js';
3
- import { TimeoutToken } from './timeout-token.js';
4
- import { StopWatch } from './stop-watch.js';
5
- import { LoggerLevelName } from '../logger/logger-level-name.js';
6
- export class PromiseRatchet {
7
- static resolveOnEvent(evtSrc, okEvtNames, errEvtNames = [], rval = null) {
8
- if (!evtSrc || !okEvtNames || okEvtNames.length === 0 || !evtSrc['on']) {
9
- Promise.reject('Cannot continue - missing source object or name, or the object is not an event source');
10
- }
11
- return new Promise((res, rej) => {
12
- okEvtNames.forEach((e) => {
13
- evtSrc.on(e, () => {
14
- res(rval);
15
- });
16
- });
17
- if (!!errEvtNames) {
18
- errEvtNames.forEach((e) => {
19
- evtSrc.on(e, (err) => {
20
- rej(err);
21
- });
22
- });
23
- }
24
- });
25
- }
26
- static timeout(srcPromise, title, timeoutMS) {
27
- return Promise.race([srcPromise, PromiseRatchet.createTimeoutPromise(title, timeoutMS)]);
28
- }
29
- static createTimeoutPromise(title, timeoutMS) {
30
- return new Promise((resolve, reject) => {
31
- const id = setTimeout(() => {
32
- clearTimeout(id);
33
- const rval = new TimeoutToken(title, timeoutMS);
34
- resolve(rval);
35
- }, timeoutMS);
36
- });
37
- }
38
- static async wait(time) {
39
- await PromiseRatchet.createTimeoutPromise('Wait ' + time, time);
40
- Logger.silly('Finished wait of %d ms', time);
41
- }
42
- static dumpResult(result, autoDebug = false) {
43
- Logger.info('Success, result was : \n\n%s\n\n', JSON.stringify(result));
44
- if (autoDebug) {
45
- debugger;
46
- }
47
- process.exit(0);
48
- }
49
- static dumpError(err, autoDebug = false) {
50
- Logger.warn('Failure, err was : \n\n%s\n\n -- \n\n%s\n\n', JSON.stringify(err), String(err));
51
- console.trace();
52
- if (autoDebug) {
53
- debugger;
54
- }
55
- process.exit(1);
56
- }
57
- static logErrorAndReturnNull(err, autoDebug = false) {
58
- Logger.warn('Failure, err was : \n\n%s\n\n -- \n\n%s\n\n', JSON.stringify(err), String(err));
59
- if (autoDebug) {
60
- debugger;
61
- }
62
- return null;
63
- }
64
- static runPromiseAndDump(promise) {
65
- promise.then(PromiseRatchet.dumpResult).catch(PromiseRatchet.dumpError);
66
- }
67
- static async waitFor(testFunction, expectedValue, intervalMS, maxCycles, label = 'waitFor', count = 0) {
68
- if (expectedValue == null || intervalMS < 50 || maxCycles < 1 || count < 0 || typeof testFunction != 'function') {
69
- Logger.warn('%s: Invalid configuration for waitFor - exiting immediately', label);
70
- Logger.warn('ExpectedValue : %s ; interval: %d ; maxCycles: %d ; test : %s', expectedValue, intervalMS, maxCycles, typeof testFunction);
71
- return false;
72
- }
73
- let curVal = null;
74
- try {
75
- curVal = testFunction(count);
76
- }
77
- catch (err) {
78
- Logger.warn('%s: Caught error while waiting, giving up', label);
79
- return false;
80
- }
81
- if (curVal === null) {
82
- Logger.debug('%s:CurVal was null - aborting', label);
83
- return false;
84
- }
85
- else if (curVal == expectedValue) {
86
- Logger.debug('%s:Found expected value', label);
87
- return true;
88
- }
89
- else if (count > maxCycles) {
90
- Logger.debug('%s:Exceeded max cycles, giving up', label);
91
- return false;
92
- }
93
- else {
94
- Logger.debug('%s : value not reached yet, waiting (count = %d of %d)', label, count, maxCycles);
95
- await PromiseRatchet.wait(intervalMS);
96
- return PromiseRatchet.waitFor(testFunction, expectedValue, intervalMS, maxCycles, label, count + 1);
97
- }
98
- }
99
- static async runBoundedParallel(promiseFn, params, context, maxConcurrent = 1, logLevel = LoggerLevelName.debug) {
100
- const sw = new StopWatch();
101
- let rval = [];
102
- let remain = params;
103
- Logger.logByLevel(logLevel, 'Processing %d total elements %d at a time', params.length, maxConcurrent);
104
- const ctx = context || this;
105
- let processed = 0;
106
- const totalCount = remain.length;
107
- while (remain.length > 0) {
108
- const curBatch = remain.slice(0, Math.min(remain.length, maxConcurrent));
109
- remain = remain.slice(curBatch.length);
110
- const proms = curBatch.map((c) => promiseFn.apply(ctx, c));
111
- const output = await Promise.all(proms);
112
- processed += proms.length;
113
- rval = rval.concat(output);
114
- const pct = processed / totalCount;
115
- Logger.logByLevel(logLevel, '%d elements remain : %s', remain.length, sw.dumpExpected(pct));
116
- }
117
- sw.log();
118
- return rval;
119
- }
120
- static async runBoundedParallelSingleParam(promiseFn, params, context, maxConcurrent = 1, logLevel = LoggerLevelName.debug) {
121
- const wrappedParams = ArrayRatchet.wrapElementsInArray(params);
122
- return PromiseRatchet.runBoundedParallel(promiseFn, wrappedParams, context, maxConcurrent, logLevel);
123
- }
124
- static async asyncForEachSerial(array, callback) {
125
- for (let index = 0; index < array.length; index++) {
126
- await callback(array[index], index, array);
127
- }
128
- }
129
- static async asyncForEachParallel(array, callback) {
130
- const proms = [];
131
- for (let index = 0; index < array.length; index++) {
132
- proms.push(callback(array[index], index, array));
133
- }
134
- await Promise.all(proms);
135
- }
136
- constructor() {
137
- }
138
- }
139
- //# sourceMappingURL=promise-ratchet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise-ratchet.js","sourceRoot":"","sources":["../../src/lang/promise-ratchet.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- import { PromiseRatchet } from './promise-ratchet.js';
2
- import { Logger } from '../logger/logger.js';
3
- import { LoggerLevelName } from '../logger/logger-level-name.js';
4
- const fnFalse = (ignored) => {
5
- return false;
6
- };
7
- const fnOn3 = (t) => {
8
- Logger.info('t=%d', t);
9
- return t == 3;
10
- };
11
- const waitAndPrint = async (t1, t2) => {
12
- Logger.info('Running: %s', t2);
13
- await PromiseRatchet.wait(t1 * 2);
14
- return t1 * 2;
15
- };
16
- describe('#promiseRatchet', function () {
17
- it('should timeout eventually', async () => {
18
- try {
19
- Logger.setLevel(LoggerLevelName.silly);
20
- const result = await PromiseRatchet.waitFor(fnFalse, true, 100, 2);
21
- Logger.info('Got : %s', result);
22
- expect(result).toEqual(false);
23
- }
24
- catch (err) {
25
- Logger.warn('Error: %s', err, err);
26
- }
27
- });
28
- it('should succeed on 3rd try', async () => {
29
- const promise = PromiseRatchet.waitFor(fnOn3, true, 100, 4);
30
- const result = await promise;
31
- expect(result).toEqual(true);
32
- });
33
- it('should run 10 elements, 2 at a time', async () => {
34
- Logger.setLevel(LoggerLevelName.debug);
35
- const elements = [
36
- [100, 'Test1'],
37
- [200, 'Test2'],
38
- [300, 'Test3'],
39
- [400, 'Test4'],
40
- [500, 'Test5'],
41
- [600, 'Test6'],
42
- [700, 'Test7'],
43
- [800, 'Test8'],
44
- [900, 'Test9'],
45
- [1000, 'Test10'],
46
- ];
47
- const results = await PromiseRatchet.runBoundedParallel(waitAndPrint, elements, this, 2);
48
- Logger.info('Final results %j', results);
49
- expect(results).toBeTruthy();
50
- expect(results.length).toEqual(10);
51
- }, 30000);
52
- it('should run 10 waits, 2 at a time', async () => {
53
- Logger.setLevel(LoggerLevelName.debug);
54
- const elements = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000];
55
- const results = await PromiseRatchet.runBoundedParallelSingleParam(PromiseRatchet.wait, elements, this, 2);
56
- Logger.info('Final results %j', results);
57
- expect(results).toBeTruthy();
58
- expect(results.length).toEqual(10);
59
- });
60
- xit('should run an async function as a for/each', async () => {
61
- Logger.setLevel(LoggerLevelName.debug);
62
- const elements = [1001, 1002, 2000];
63
- const pfn = async (v) => {
64
- Logger.info('Waiting %s', v);
65
- await PromiseRatchet.wait(v);
66
- Logger.info('Finished %s', v);
67
- };
68
- Logger.info('Serial test');
69
- await PromiseRatchet.asyncForEachSerial(elements, pfn);
70
- Logger.info('Parallel test');
71
- await PromiseRatchet.asyncForEachParallel(elements, pfn);
72
- Logger.info('Done');
73
- });
74
- });
75
- //# sourceMappingURL=promise-ratchet.spec.js.map