@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.
- package/dist/{types/2d → 2d}/line-2d.d.ts +1 -1
- package/dist/{types/2d → 2d}/poly-line-2d.d.ts +1 -1
- package/dist/{types/2d → 2d}/ratchet-2d.d.ts +4 -4
- package/dist/{es/2d → 2d}/ratchet-2d.js +1 -1
- package/dist/2d/ratchet-2d.spec.js +117 -0
- package/dist/{types/build → build}/ratchet-common-info.d.ts +1 -1
- package/dist/{types/histogram → histogram}/histogram.d.ts +1 -4
- package/dist/{es/histogram → histogram}/histogram.js +1 -3
- package/dist/histogram/histogram.spec.js +19 -0
- package/dist/jwt/common-jwt-token.d.ts +6 -0
- package/dist/{types/jwt → jwt}/jwt-ratchet-like.d.ts +3 -6
- package/dist/{types/jwt → jwt}/jwt-ratchet.d.ts +4 -13
- package/dist/{es/jwt → jwt}/jwt-ratchet.js +12 -7
- package/dist/jwt/jwt-ratchet.spec.js +49 -0
- package/dist/{types/jwt → jwt}/jwt-token-base.d.ts +0 -4
- package/dist/lang/array-ratchet.d.ts +14 -0
- package/dist/{es/lang → lang}/array-ratchet.js +2 -2
- package/dist/lang/array-ratchet.spec.js +68 -0
- package/dist/{types/lang → lang}/base64-ratchet.d.ts +1 -1
- package/dist/{es/lang → lang}/base64-ratchet.js +1 -1
- package/dist/lang/base64-ratchet.spec.js +28 -0
- package/dist/{es/lang → lang}/boolean-ratchet.js +1 -1
- package/dist/lang/boolean-ratchet.spec.js +81 -0
- package/dist/{types/lang → lang}/composite-last-success-provider.d.ts +1 -2
- package/dist/{es/lang → lang}/composite-last-success-provider.js +2 -0
- package/dist/lang/composite-last-success-provider.spec.js +26 -0
- package/dist/{es/lang → lang}/date-ratchet.js +5 -5
- package/dist/lang/date-ratchet.spec.js +21 -0
- package/dist/{es/lang → lang}/duration-ratchet.js +1 -1
- package/dist/lang/duration-ratchet.spec.js +39 -0
- package/dist/lang/enum-ratchet.d.ts +5 -0
- package/dist/{es/lang → lang}/enum-ratchet.js +1 -1
- package/dist/lang/enum-ratchet.spec.d.ts +5 -0
- package/dist/lang/enum-ratchet.spec.js +31 -0
- package/dist/{es/lang → lang}/error-ratchet.js +1 -1
- package/dist/lang/error-ratchet.spec.js +20 -0
- package/dist/lang/esm-ratchet.d.ts +4 -0
- package/dist/lang/esm-ratchet.js +11 -0
- package/dist/{types/lang → lang}/expiring-object.d.ts +1 -1
- package/dist/{es/lang → lang}/expiring-object.js +13 -4
- package/dist/lang/expiring-object.spec.js +51 -0
- package/dist/{es/lang → lang}/geolocation-ratchet.js +4 -4
- package/dist/lang/geolocation-ratchet.spec.d.ts +1 -0
- package/dist/lang/geolocation-ratchet.spec.js +74 -0
- package/dist/{es/lang → lang}/global-ratchet.js +3 -3
- package/dist/lang/global-ratchet.spec.d.ts +1 -0
- package/dist/lang/global-ratchet.spec.js +14 -0
- package/dist/{es/lang → lang}/key-value.js +2 -0
- package/dist/lang/last-success-provider.d.ts +3 -0
- package/dist/lang/last-success-provider.js +1 -0
- package/dist/{types/lang → lang}/map-ratchet.d.ts +1 -1
- package/dist/{es/lang → lang}/map-ratchet.js +3 -3
- package/dist/lang/map-ratchet.spec.d.ts +1 -0
- package/dist/lang/map-ratchet.spec.js +90 -0
- package/dist/lang/no.spec.d.ts +1 -0
- package/dist/lang/no.spec.js +7 -0
- package/dist/{es/lang → lang}/number-ratchet.js +3 -3
- package/dist/lang/number-ratchet.spec.d.ts +1 -0
- package/dist/lang/number-ratchet.spec.js +118 -0
- package/dist/lang/parsed-url.js +1 -0
- package/dist/lang/promise-ratchet.d.ts +18 -0
- package/dist/{es/lang → lang}/promise-ratchet.js +5 -5
- package/dist/lang/promise-ratchet.spec.d.ts +1 -0
- package/dist/lang/promise-ratchet.spec.js +74 -0
- package/dist/{es/lang → lang}/require-ratchet.js +1 -1
- package/dist/lang/require-ratchet.spec.d.ts +3 -0
- package/dist/lang/require-ratchet.spec.js +80 -0
- package/dist/{types/lang → lang}/stop-watch.d.ts +1 -1
- package/dist/{es/lang → lang}/stop-watch.js +9 -8
- package/dist/{es/lang → lang}/string-ratchet.js +2 -2
- package/dist/lang/string-ratchet.spec.d.ts +1 -0
- package/dist/lang/string-ratchet.spec.js +158 -0
- package/dist/lang/time-zone-ratchet.d.ts +19 -0
- package/dist/{es/lang → lang}/time-zone-ratchet.js +2 -1
- package/dist/lang/time-zone-ratchet.spec.d.ts +1 -0
- package/dist/lang/time-zone-ratchet.spec.js +40 -0
- package/dist/{types/lang → lang}/timeout-token.d.ts +1 -1
- package/dist/{es/lang → lang}/timeout-token.js +5 -3
- package/dist/lang/timeout-token.spec.d.ts +1 -0
- package/dist/lang/timeout-token.spec.js +9 -0
- package/dist/{types/lang → lang}/transform-ratchet.d.ts +1 -1
- package/dist/{es/lang → lang}/transform-ratchet.js +1 -1
- package/dist/lang/transform-ratchet.spec.d.ts +1 -0
- package/dist/lang/transform-ratchet.spec.js +118 -0
- package/dist/logger/classic-single-line-log-message-formatter.d.ts +6 -0
- package/dist/{types/logger → logger}/log-message-builder.d.ts +2 -2
- package/dist/{es/logger → logger}/log-message-builder.js +1 -0
- package/dist/{types/logger → logger}/log-message-formatter.d.ts +2 -2
- package/dist/logger/log-message-formatter.js +1 -0
- package/dist/{types/logger → logger}/log-message-processor.d.ts +1 -1
- package/dist/logger/log-message-processor.js +1 -0
- package/dist/{types/logger → logger}/log-message.d.ts +1 -1
- package/dist/logger/log-message.js +1 -0
- package/dist/{types/logger → logger}/log-snapshot.d.ts +1 -1
- package/dist/logger/log-snapshot.js +1 -0
- package/dist/{types/logger → logger}/logger-instance.d.ts +6 -6
- package/dist/{es/logger → logger}/logger-instance.js +15 -8
- package/dist/{types/logger → logger}/logger-meta.d.ts +1 -1
- package/dist/logger/logger-meta.js +1 -0
- package/dist/{types/logger → logger}/logger-options.d.ts +4 -4
- package/dist/logger/logger-options.js +1 -0
- package/dist/{types/logger → logger}/logger-ring-buffer.d.ts +2 -2
- package/dist/{es/logger → logger}/logger-ring-buffer.js +7 -6
- package/dist/{types/logger → logger}/logger-util.d.ts +2 -2
- package/dist/{es/logger → logger}/logger-util.js +10 -10
- package/dist/logger/logger-util.spec.d.ts +1 -0
- package/dist/logger/logger-util.spec.js +9 -0
- package/dist/{types/logger → logger}/logger.d.ts +7 -16
- package/dist/{es/logger → logger}/logger.js +14 -14
- package/dist/logger/logger.spec.d.ts +1 -0
- package/dist/logger/logger.spec.js +134 -0
- package/dist/logger/none-log-message-formatter.d.ts +6 -0
- package/dist/logger/structured-json-log-message-formatter.d.ts +6 -0
- package/dist/{types/network → network}/browser-local-ip-provider.d.ts +1 -1
- package/dist/{es/network → network}/browser-local-ip-provider.js +3 -3
- package/dist/network/browser-local-ip-provider.spec.d.ts +1 -0
- package/dist/network/browser-local-ip-provider.spec.js +16 -0
- package/dist/{types/network → network}/fixed-local-ip-provider.d.ts +1 -1
- package/dist/{es/network → network}/fixed-local-ip-provider.js +1 -0
- package/dist/network/local-ip-provider.d.ts +3 -0
- package/dist/network/local-ip-provider.js +1 -0
- package/dist/{types/network → network}/network-ratchet.d.ts +1 -1
- package/dist/{es/network → network}/network-ratchet.js +2 -2
- package/dist/network/network-ratchet.spec.d.ts +1 -0
- package/dist/network/network-ratchet.spec.js +13 -0
- package/dist/{types/stream → stream}/buffer-writable.d.ts +2 -2
- package/dist/{es/stream → stream}/buffer-writable.js +1 -1
- package/dist/stream/multi-stream.d.ts +7 -0
- package/dist/stream/multi-stream.js +12 -0
- package/dist/{types/stream → stream}/stream-ratchet.d.ts +2 -2
- package/dist/{es/stream → stream}/stream-ratchet.js +2 -2
- package/dist/stream/stream-ratchet.spec.d.ts +1 -0
- package/dist/stream/stream-ratchet.spec.js +13 -0
- package/dist/{types/stream → stream}/string-writable.d.ts +1 -1
- package/dist/{es/stream → stream}/string-writable.js +1 -1
- package/dist/stream/string-writable.spec.d.ts +1 -0
- package/dist/stream/string-writable.spec.js +12 -0
- package/dist/{es/third-party → third-party}/google/google-recaptcha-ratchet.js +3 -3
- package/dist/third-party/google/google-recaptcha-ratchet.spec.d.ts +1 -0
- package/dist/third-party/google/google-recaptcha-ratchet.spec.js +20 -0
- package/dist/{types/third-party → third-party}/twilio/twilio-ratchet.d.ts +0 -4
- package/dist/{es/third-party → third-party}/twilio/twilio-ratchet.js +8 -5
- package/dist/{types/transform → transform}/built-in-transforms.d.ts +1 -1
- package/dist/{es/transform → transform}/built-in-transforms.js +2 -2
- package/dist/transform/transform-rule.js +1 -0
- package/dist/{types/tx → tx}/transaction-configuration.d.ts +2 -2
- package/dist/tx/transaction-configuration.js +1 -0
- package/dist/{types/tx → tx}/transaction-ratchet.d.ts +3 -3
- package/dist/{es/tx → tx}/transaction-ratchet.js +4 -4
- package/dist/tx/transaction-ratchet.spec.d.ts +1 -0
- package/dist/tx/transaction-ratchet.spec.js +130 -0
- package/dist/{types/tx → tx}/transaction-result.d.ts +1 -1
- package/dist/tx/transaction-result.js +1 -0
- package/dist/tx/transaction-step.js +1 -0
- package/package.json +10 -11
- package/dist/cjs/2d/line-2d.js +0 -2
- package/dist/cjs/2d/plane-2d.js +0 -2
- package/dist/cjs/2d/point-2d.js +0 -2
- package/dist/cjs/2d/poly-line-2d.js +0 -2
- package/dist/cjs/2d/ratchet-2d.js +0 -250
- package/dist/cjs/build/build-information.js +0 -2
- package/dist/cjs/build/ratchet-common-info.js +0 -18
- package/dist/cjs/histogram/histogram-entry.js +0 -2
- package/dist/cjs/histogram/histogram.js +0 -54
- package/dist/cjs/index.js +0 -74
- package/dist/cjs/jwt/common-jwt-token.js +0 -2
- package/dist/cjs/jwt/expired-jwt-handling.js +0 -9
- package/dist/cjs/jwt/jwt-ratchet-like.js +0 -2
- package/dist/cjs/jwt/jwt-ratchet.js +0 -164
- package/dist/cjs/jwt/jwt-token-base.js +0 -2
- package/dist/cjs/lang/array-ratchet.js +0 -87
- package/dist/cjs/lang/base64-ratchet.js +0 -49
- package/dist/cjs/lang/boolean-ratchet.js +0 -49
- package/dist/cjs/lang/composite-last-success-provider.js +0 -28
- package/dist/cjs/lang/date-ratchet.js +0 -33
- package/dist/cjs/lang/duration-ratchet.js +0 -46
- package/dist/cjs/lang/enum-ratchet.js +0 -34
- package/dist/cjs/lang/error-ratchet.js +0 -49
- package/dist/cjs/lang/expiring-object.js +0 -68
- package/dist/cjs/lang/geolocation-ratchet.js +0 -267
- package/dist/cjs/lang/global-ratchet.js +0 -48
- package/dist/cjs/lang/key-value.js +0 -6
- package/dist/cjs/lang/last-success-provider.js +0 -2
- package/dist/cjs/lang/map-ratchet.js +0 -168
- package/dist/cjs/lang/no.js +0 -8
- package/dist/cjs/lang/number-ratchet.js +0 -159
- package/dist/cjs/lang/parsed-url.js +0 -2
- package/dist/cjs/lang/promise-ratchet.js +0 -142
- package/dist/cjs/lang/require-ratchet.js +0 -60
- package/dist/cjs/lang/stop-watch.js +0 -117
- package/dist/cjs/lang/string-ratchet.js +0 -195
- package/dist/cjs/lang/time-zone-ratchet.js +0 -80
- package/dist/cjs/lang/timeout-token.js +0 -19
- package/dist/cjs/lang/transform-ratchet.js +0 -70
- package/dist/cjs/logger/classic-single-line-log-message-formatter.js +0 -18
- package/dist/cjs/logger/log-message-builder.js +0 -51
- package/dist/cjs/logger/log-message-format-type.js +0 -9
- package/dist/cjs/logger/log-message-formatter.js +0 -2
- package/dist/cjs/logger/log-message-processor.js +0 -2
- package/dist/cjs/logger/log-message.js +0 -2
- package/dist/cjs/logger/log-snapshot.js +0 -2
- package/dist/cjs/logger/logger-instance.js +0 -207
- package/dist/cjs/logger/logger-level-name.js +0 -12
- package/dist/cjs/logger/logger-meta.js +0 -2
- package/dist/cjs/logger/logger-options.js +0 -2
- package/dist/cjs/logger/logger-output-function.js +0 -9
- package/dist/cjs/logger/logger-ring-buffer.js +0 -76
- package/dist/cjs/logger/logger-util.js +0 -49
- package/dist/cjs/logger/logger.js +0 -139
- package/dist/cjs/logger/none-log-message-formatter.js +0 -9
- package/dist/cjs/logger/structured-json-log-message-formatter.js +0 -24
- package/dist/cjs/network/browser-local-ip-provider.js +0 -25
- package/dist/cjs/network/fixed-local-ip-provider.js +0 -12
- package/dist/cjs/network/local-ip-provider.js +0 -2
- package/dist/cjs/network/network-ratchet.js +0 -106
- package/dist/cjs/stream/buffer-writable.js +0 -20
- package/dist/cjs/stream/stream-ratchet.js +0 -72
- package/dist/cjs/stream/string-writable.js +0 -18
- package/dist/cjs/third-party/google/google-recaptcha-ratchet.js +0 -33
- package/dist/cjs/third-party/twilio/twilio-ratchet.js +0 -75
- package/dist/cjs/transform/built-in-transforms.js +0 -195
- package/dist/cjs/transform/transform-rule.js +0 -2
- package/dist/cjs/tx/transaction-configuration.js +0 -2
- package/dist/cjs/tx/transaction-final-state.js +0 -9
- package/dist/cjs/tx/transaction-ratchet.js +0 -80
- package/dist/cjs/tx/transaction-result.js +0 -2
- package/dist/cjs/tx/transaction-step.js +0 -2
- package/dist/es/index.js +0 -71
- package/dist/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/tsconfig.es.tsbuildinfo +0 -1
- package/dist/tsconfig.types.tsbuildinfo +0 -1
- package/dist/types/index.d.ts +0 -74
- package/dist/types/jwt/common-jwt-token.d.ts +0 -17
- package/dist/types/lang/array-ratchet.d.ts +0 -30
- package/dist/types/lang/enum-ratchet.d.ts +0 -12
- package/dist/types/lang/last-success-provider.d.ts +0 -4
- package/dist/types/lang/promise-ratchet.d.ts +0 -32
- package/dist/types/lang/time-zone-ratchet.d.ts +0 -50
- package/dist/types/logger/classic-single-line-log-message-formatter.d.ts +0 -6
- package/dist/types/logger/none-log-message-formatter.d.ts +0 -6
- package/dist/types/logger/structured-json-log-message-formatter.d.ts +0 -6
- package/dist/types/network/local-ip-provider.d.ts +0 -4
- /package/dist/{es/2d → 2d}/line-2d.js +0 -0
- /package/dist/{types/2d → 2d}/plane-2d.d.ts +0 -0
- /package/dist/{es/2d → 2d}/plane-2d.js +0 -0
- /package/dist/{types/2d → 2d}/point-2d.d.ts +0 -0
- /package/dist/{es/2d → 2d}/point-2d.js +0 -0
- /package/dist/{es/2d → 2d}/poly-line-2d.js +0 -0
- /package/dist/{es/build/build-information.js → 2d/ratchet-2d.spec.d.ts} +0 -0
- /package/dist/{types/build → build}/build-information.d.ts +0 -0
- /package/dist/{es/histogram/histogram-entry.js → build/build-information.js} +0 -0
- /package/dist/{es/build → build}/ratchet-common-info.js +0 -0
- /package/dist/{types/histogram → histogram}/histogram-entry.d.ts +0 -0
- /package/dist/{es/jwt/common-jwt-token.js → histogram/histogram-entry.js} +0 -0
- /package/dist/{es/jwt/jwt-ratchet-like.js → histogram/histogram.spec.d.ts} +0 -0
- /package/dist/{es/jwt/jwt-token-base.js → index.d.ts} +0 -0
- /package/dist/{es/lang/last-success-provider.js → index.js} +0 -0
- /package/dist/{es/lang/parsed-url.js → jwt/common-jwt-token.js} +0 -0
- /package/dist/{types/jwt → jwt}/expired-jwt-handling.d.ts +0 -0
- /package/dist/{es/jwt → jwt}/expired-jwt-handling.js +0 -0
- /package/dist/{es/logger/log-message-formatter.js → jwt/jwt-ratchet-like.js} +0 -0
- /package/dist/{es/logger/log-message-processor.js → jwt/jwt-ratchet.spec.d.ts} +0 -0
- /package/dist/{es/logger/log-message.js → jwt/jwt-token-base.js} +0 -0
- /package/dist/{es/logger/log-snapshot.js → lang/array-ratchet.spec.d.ts} +0 -0
- /package/dist/{es/logger/logger-meta.js → lang/base64-ratchet.spec.d.ts} +0 -0
- /package/dist/{types/lang → lang}/boolean-ratchet.d.ts +0 -0
- /package/dist/{es/logger/logger-options.js → lang/boolean-ratchet.spec.d.ts} +0 -0
- /package/dist/{es/network/local-ip-provider.js → lang/composite-last-success-provider.spec.d.ts} +0 -0
- /package/dist/{types/lang → lang}/date-ratchet.d.ts +0 -0
- /package/dist/{es/transform/transform-rule.js → lang/date-ratchet.spec.d.ts} +0 -0
- /package/dist/{types/lang → lang}/duration-ratchet.d.ts +0 -0
- /package/dist/{es/tx/transaction-configuration.js → lang/duration-ratchet.spec.d.ts} +0 -0
- /package/dist/{types/lang → lang}/error-ratchet.d.ts +0 -0
- /package/dist/{es/tx/transaction-result.js → lang/error-ratchet.spec.d.ts} +0 -0
- /package/dist/{es/tx/transaction-step.js → lang/expiring-object.spec.d.ts} +0 -0
- /package/dist/{types/lang → lang}/geolocation-ratchet.d.ts +0 -0
- /package/dist/{types/lang → lang}/global-ratchet.d.ts +0 -0
- /package/dist/{types/lang → lang}/key-value.d.ts +0 -0
- /package/dist/{types/lang → lang}/no.d.ts +0 -0
- /package/dist/{es/lang → lang}/no.js +0 -0
- /package/dist/{types/lang → lang}/number-ratchet.d.ts +0 -0
- /package/dist/{types/lang → lang}/parsed-url.d.ts +0 -0
- /package/dist/{types/lang → lang}/require-ratchet.d.ts +0 -0
- /package/dist/{types/lang → lang}/string-ratchet.d.ts +0 -0
- /package/dist/{es/logger → logger}/classic-single-line-log-message-formatter.js +0 -0
- /package/dist/{types/logger → logger}/log-message-format-type.d.ts +0 -0
- /package/dist/{es/logger → logger}/log-message-format-type.js +0 -0
- /package/dist/{types/logger → logger}/logger-level-name.d.ts +0 -0
- /package/dist/{es/logger → logger}/logger-level-name.js +0 -0
- /package/dist/{types/logger → logger}/logger-output-function.d.ts +0 -0
- /package/dist/{es/logger → logger}/logger-output-function.js +0 -0
- /package/dist/{es/logger → logger}/none-log-message-formatter.js +0 -0
- /package/dist/{es/logger → logger}/structured-json-log-message-formatter.js +0 -0
- /package/dist/{types/third-party → third-party}/google/google-recaptcha-ratchet.d.ts +0 -0
- /package/dist/{types/transform → transform}/transform-rule.d.ts +0 -0
- /package/dist/{types/tx → tx}/transaction-final-state.d.ts +0 -0
- /package/dist/{es/tx → tx}/transaction-final-state.js +0 -0
- /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,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,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,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;
|