@onereach/billing-shared 31.3.2-beta.12651.0 → 31.3.2-beta.12665.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/cjs/enums/index.js +1 -0
  2. package/dist/cjs/enums/index.js.map +1 -1
  3. package/dist/cjs/enums/usage-compaction.js +35 -0
  4. package/dist/cjs/enums/usage-compaction.js.map +1 -0
  5. package/dist/cjs/types/index.js +1 -1
  6. package/dist/cjs/types/index.js.map +1 -1
  7. package/dist/cjs/types/{invoice-generation.js → usage-compaction.js} +1 -1
  8. package/dist/cjs/types/usage-compaction.js.map +1 -0
  9. package/dist/cjs/utils/concurrency-limiter.js +88 -0
  10. package/dist/cjs/utils/concurrency-limiter.js.map +1 -0
  11. package/dist/cjs/utils/exact-numeric.constants.js +9 -0
  12. package/dist/cjs/utils/exact-numeric.constants.js.map +1 -0
  13. package/dist/cjs/utils/exact-numeric.js +164 -0
  14. package/dist/cjs/utils/exact-numeric.js.map +1 -0
  15. package/dist/cjs/utils/exact-numeric.types.js +3 -0
  16. package/dist/cjs/utils/exact-numeric.types.js.map +1 -0
  17. package/dist/cjs/utils/index.js +2 -0
  18. package/dist/cjs/utils/index.js.map +1 -1
  19. package/dist/esm/enums/index.js +1 -0
  20. package/dist/esm/enums/index.js.map +1 -1
  21. package/dist/esm/enums/usage-compaction.js +32 -0
  22. package/dist/esm/enums/usage-compaction.js.map +1 -0
  23. package/dist/esm/types/index.js +1 -1
  24. package/dist/esm/types/index.js.map +1 -1
  25. package/dist/esm/types/usage-compaction.js +2 -0
  26. package/dist/esm/types/usage-compaction.js.map +1 -0
  27. package/dist/esm/utils/concurrency-limiter.js +31 -0
  28. package/dist/esm/utils/concurrency-limiter.js.map +1 -0
  29. package/dist/esm/utils/exact-numeric.constants.js +6 -0
  30. package/dist/esm/utils/exact-numeric.constants.js.map +1 -0
  31. package/dist/esm/utils/exact-numeric.js +158 -0
  32. package/dist/esm/utils/exact-numeric.js.map +1 -0
  33. package/dist/esm/utils/exact-numeric.types.js +2 -0
  34. package/dist/esm/utils/exact-numeric.types.js.map +1 -0
  35. package/dist/esm/utils/index.js +2 -0
  36. package/dist/esm/utils/index.js.map +1 -1
  37. package/dist/types/enums/index.d.ts +1 -0
  38. package/dist/types/enums/index.d.ts.map +1 -1
  39. package/dist/types/enums/usage-compaction.d.ts +28 -0
  40. package/dist/types/enums/usage-compaction.d.ts.map +1 -0
  41. package/dist/types/types/index.d.ts +1 -1
  42. package/dist/types/types/index.d.ts.map +1 -1
  43. package/dist/types/types/usage-compaction.d.ts +14 -0
  44. package/dist/types/types/usage-compaction.d.ts.map +1 -0
  45. package/dist/types/utils/concurrency-limiter.d.ts +2 -0
  46. package/dist/types/utils/concurrency-limiter.d.ts.map +1 -0
  47. package/dist/types/utils/exact-numeric.constants.d.ts +4 -0
  48. package/dist/types/utils/exact-numeric.constants.d.ts.map +1 -0
  49. package/dist/types/utils/exact-numeric.d.ts +6 -0
  50. package/dist/types/utils/exact-numeric.d.ts.map +1 -0
  51. package/dist/types/utils/exact-numeric.types.d.ts +6 -0
  52. package/dist/types/utils/exact-numeric.types.d.ts.map +1 -0
  53. package/dist/types/utils/index.d.ts +2 -0
  54. package/dist/types/utils/index.d.ts.map +1 -1
  55. package/package.json +1 -1
  56. package/src/enums/index.ts +1 -0
  57. package/src/enums/usage-compaction.ts +30 -0
  58. package/src/types/index.ts +1 -1
  59. package/src/types/usage-compaction.ts +16 -0
  60. package/src/utils/concurrency-limiter.ts +32 -0
  61. package/src/utils/exact-numeric.constants.ts +5 -0
  62. package/src/utils/exact-numeric.ts +199 -0
  63. package/src/utils/exact-numeric.types.ts +5 -0
  64. package/src/utils/index.ts +2 -0
  65. package/dist/cjs/types/invoice-generation.js.map +0 -1
  66. package/dist/esm/types/invoice-generation.js +0 -2
  67. package/dist/esm/types/invoice-generation.js.map +0 -1
  68. package/dist/types/types/invoice-generation.d.ts +0 -17
  69. package/dist/types/types/invoice-generation.d.ts.map +0 -1
  70. package/src/types/invoice-generation.ts +0 -19
@@ -32,4 +32,5 @@ __exportStar(require("./sku-mapping-status"), exports);
32
32
  __exportStar(require("./customer-account-action"), exports);
33
33
  __exportStar(require("./environment-status"), exports);
34
34
  __exportStar(require("./billing-domain"), exports);
35
+ __exportStar(require("./usage-compaction"), exports);
35
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,2CAAyB;AACzB,kDAAgC;AAChC,6CAA2B;AAC3B,0CAAwB;AACxB,uDAAqC;AACrC,yDAAuC;AACvC,kDAAgC;AAChC,sDAAoC;AACpC,4CAA0B;AAC1B,qDAAmC;AACnC,6CAA2B;AAC3B,gDAA8B;AAC9B,+CAA6B;AAC7B,uDAAqC;AACrC,4DAA0C;AAC1C,uDAAqC;AACrC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,2CAAyB;AACzB,kDAAgC;AAChC,6CAA2B;AAC3B,0CAAwB;AACxB,uDAAqC;AACrC,yDAAuC;AACvC,kDAAgC;AAChC,sDAAoC;AACpC,4CAA0B;AAC1B,qDAAmC;AACnC,6CAA2B;AAC3B,gDAA8B;AAC9B,+CAA6B;AAC7B,uDAAqC;AACrC,4DAA0C;AAC1C,uDAAqC;AACrC,mDAAiC;AACjC,qDAAmC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UsageCompactionItemStatus = exports.UsageCompactionRunStatus = exports.UsageCompactionRunMode = exports.UsageGranularity = void 0;
4
+ var UsageGranularity;
5
+ (function (UsageGranularity) {
6
+ UsageGranularity["HOUR"] = "hour";
7
+ UsageGranularity["DAY"] = "day";
8
+ })(UsageGranularity || (exports.UsageGranularity = UsageGranularity = {}));
9
+ var UsageCompactionRunMode;
10
+ (function (UsageCompactionRunMode) {
11
+ UsageCompactionRunMode["DRY_RUN"] = "dry-run";
12
+ UsageCompactionRunMode["BACKFILL"] = "backfill";
13
+ UsageCompactionRunMode["SCHEDULED"] = "scheduled";
14
+ UsageCompactionRunMode["RECOMPILE"] = "recompile";
15
+ UsageCompactionRunMode["REPAIR"] = "repair";
16
+ })(UsageCompactionRunMode || (exports.UsageCompactionRunMode = UsageCompactionRunMode = {}));
17
+ var UsageCompactionRunStatus;
18
+ (function (UsageCompactionRunStatus) {
19
+ UsageCompactionRunStatus["QUEUED"] = "queued";
20
+ UsageCompactionRunStatus["PROCESSING"] = "processing";
21
+ UsageCompactionRunStatus["COMPLETED"] = "completed";
22
+ UsageCompactionRunStatus["PARTIAL"] = "partial";
23
+ UsageCompactionRunStatus["FAILED"] = "failed";
24
+ UsageCompactionRunStatus["CANCELLED"] = "cancelled";
25
+ })(UsageCompactionRunStatus || (exports.UsageCompactionRunStatus = UsageCompactionRunStatus = {}));
26
+ var UsageCompactionItemStatus;
27
+ (function (UsageCompactionItemStatus) {
28
+ UsageCompactionItemStatus["QUEUED"] = "queued";
29
+ UsageCompactionItemStatus["PROCESSING"] = "processing";
30
+ UsageCompactionItemStatus["VALIDATED"] = "validated";
31
+ UsageCompactionItemStatus["COMPLETED"] = "completed";
32
+ UsageCompactionItemStatus["FAILED"] = "failed";
33
+ UsageCompactionItemStatus["SKIPPED"] = "skipped";
34
+ })(UsageCompactionItemStatus || (exports.UsageCompactionItemStatus = UsageCompactionItemStatus = {}));
35
+ //# sourceMappingURL=usage-compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-compaction.js","sourceRoot":"","sources":["../../../src/enums/usage-compaction.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,+BAAW,CAAA;AACb,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAED,IAAY,sBAMX;AAND,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;IACrB,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;IACvB,2CAAiB,CAAA;AACnB,CAAC,EANW,sBAAsB,sCAAtB,sBAAsB,QAMjC;AAED,IAAY,wBAOX;AAPD,WAAY,wBAAwB;IAClC,6CAAiB,CAAA;IACjB,qDAAyB,CAAA;IACzB,mDAAuB,CAAA;IACvB,+CAAmB,CAAA;IACnB,6CAAiB,CAAA;IACjB,mDAAuB,CAAA;AACzB,CAAC,EAPW,wBAAwB,wCAAxB,wBAAwB,QAOnC;AAED,IAAY,yBAOX;AAPD,WAAY,yBAAyB;IACnC,8CAAiB,CAAA;IACjB,sDAAyB,CAAA;IACzB,oDAAuB,CAAA;IACvB,oDAAuB,CAAA;IACvB,8CAAiB,CAAA;IACjB,gDAAmB,CAAA;AACrB,CAAC,EAPW,yBAAyB,yCAAzB,yBAAyB,QAOpC"}
@@ -17,5 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./common"), exports);
18
18
  __exportStar(require("./billing-domain"), exports);
19
19
  __exportStar(require("./customer-account-actions"), exports);
20
- __exportStar(require("./invoice-generation"), exports);
20
+ __exportStar(require("./usage-compaction"), exports);
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,mDAAiC;AACjC,6DAA2C;AAC3C,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,mDAAiC;AACjC,6DAA2C;AAC3C,qDAAmC"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=invoice-generation.js.map
3
+ //# sourceMappingURL=usage-compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-compaction.js","sourceRoot":"","sources":["../../../src/types/usage-compaction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.concurrencyLimiter = concurrencyLimiter;
40
+ function concurrencyLimiter(limit, items, asyncFn) {
41
+ return __awaiter(this, void 0, void 0, function () {
42
+ var results, executing, _loop_1, _i, items_1, item;
43
+ return __generator(this, function (_a) {
44
+ switch (_a.label) {
45
+ case 0:
46
+ results = [];
47
+ executing = [];
48
+ _loop_1 = function (item) {
49
+ var p, e_1;
50
+ return __generator(this, function (_b) {
51
+ switch (_b.label) {
52
+ case 0:
53
+ p = Promise.resolve().then(function () { return asyncFn(item); });
54
+ results.push(p);
55
+ if (!(limit <= items.length)) return [3, 2];
56
+ e_1 = p.then(function () {
57
+ var idx = executing.indexOf(e_1);
58
+ if (idx > -1)
59
+ executing.splice(idx, 1);
60
+ });
61
+ executing.push(e_1);
62
+ if (!(executing.length >= limit)) return [3, 2];
63
+ return [4, Promise.race(executing)];
64
+ case 1:
65
+ _b.sent();
66
+ _b.label = 2;
67
+ case 2: return [2];
68
+ }
69
+ });
70
+ };
71
+ _i = 0, items_1 = items;
72
+ _a.label = 1;
73
+ case 1:
74
+ if (!(_i < items_1.length)) return [3, 4];
75
+ item = items_1[_i];
76
+ return [5, _loop_1(item)];
77
+ case 2:
78
+ _a.sent();
79
+ _a.label = 3;
80
+ case 3:
81
+ _i++;
82
+ return [3, 1];
83
+ case 4: return [2, Promise.allSettled(results)];
84
+ }
85
+ });
86
+ });
87
+ }
88
+ //# sourceMappingURL=concurrency-limiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency-limiter.js","sourceRoot":"","sources":["../../../src/utils/concurrency-limiter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,gDAwBC;AAxBD,SAAsB,kBAAkB,CACtC,KAAa,EACb,KAAU,EACV,OAAgC;;;;;;oBAE1B,OAAO,GAAiB,EAAE,CAAC;oBAC3B,SAAS,GAAoB,EAAE,CAAC;wCAE3B,IAAI;;;;;oCACP,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,cAAM,OAAA,OAAO,CAAC,IAAI,CAAC,EAAb,CAAa,CAAC,CAAC;oCACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yCAEZ,CAAA,KAAK,IAAI,KAAK,CAAC,MAAM,CAAA,EAArB,cAAqB;oCACjB,MAAmB,CAAC,CAAC,IAAI,CAAC;wCAC9B,IAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC;wCACjC,IAAI,GAAG,GAAG,CAAC,CAAC;4CAAE,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oCACzC,CAAC,CAAC,CAAC;oCACH,SAAS,CAAC,IAAI,CAAC,GAAC,CAAC,CAAC;yCAEd,CAAA,SAAS,CAAC,MAAM,IAAI,KAAK,CAAA,EAAzB,cAAyB;oCAAE,WAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAA;;oCAA7B,SAA6B,CAAC;;;;;;0BAXzC,EAAL,eAAK;;;yBAAL,CAAA,mBAAK,CAAA;oBAAb,IAAI;uCAAJ,IAAI;;;;;oBAAI,IAAK,CAAA;;wBAexB,WAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAC;;;;CACpC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EXACT_NUMERIC_MAX_INPUT_LENGTH = exports.EXACT_NUMERIC_MAX_FRACTIONAL_DIGITS = exports.EXACT_NUMERIC_MAX_INTEGER_DIGITS = void 0;
4
+ exports.EXACT_NUMERIC_MAX_INTEGER_DIGITS = 131072;
5
+ exports.EXACT_NUMERIC_MAX_FRACTIONAL_DIGITS = 16383;
6
+ exports.EXACT_NUMERIC_MAX_INPUT_LENGTH = exports.EXACT_NUMERIC_MAX_INTEGER_DIGITS
7
+ + exports.EXACT_NUMERIC_MAX_FRACTIONAL_DIGITS
8
+ + 32;
9
+ //# sourceMappingURL=exact-numeric.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exact-numeric.constants.js","sourceRoot":"","sources":["../../../src/utils/exact-numeric.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gCAAgC,GAAG,MAAO,CAAC;AAC3C,QAAA,mCAAmC,GAAG,KAAM,CAAC;AAC7C,QAAA,8BAA8B,GAAG,wCAAgC;MAC1E,2CAAmC;MACnC,EAAE,CAAC"}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toExactNumeric = toExactNumeric;
4
+ exports.addExactNumeric = addExactNumeric;
5
+ exports.sumExactNumeric = sumExactNumeric;
6
+ exports.compareExactNumeric = compareExactNumeric;
7
+ var exact_numeric_constants_1 = require("./exact-numeric.constants");
8
+ function toExactNumeric(value) {
9
+ var _a, _b, _c;
10
+ if (typeof value === 'number' && !Number.isFinite(value)) {
11
+ throw new Error('Exact numeric value must be finite');
12
+ }
13
+ var input = String(value).trim();
14
+ if (!input || input.length > exact_numeric_constants_1.EXACT_NUMERIC_MAX_INPUT_LENGTH) {
15
+ throw new Error('Exact numeric value is invalid');
16
+ }
17
+ var match = /^([+-]?)(\d*)(?:\.(\d*))?(?:[eE]([+-]?\d+))?$/.exec(input);
18
+ if (!match || (!match[2] && !match[3])) {
19
+ throw new Error('Exact numeric value is invalid');
20
+ }
21
+ var sign = match[1] === '-' ? '-' : '';
22
+ var integerPart = (_a = match[2]) !== null && _a !== void 0 ? _a : '';
23
+ var fractionalPart = (_b = match[3]) !== null && _b !== void 0 ? _b : '';
24
+ var digits = "".concat(integerPart).concat(fractionalPart);
25
+ if (/^0+$/.test(digits)) {
26
+ return '0';
27
+ }
28
+ var exponentText = (_c = match[4]) !== null && _c !== void 0 ? _c : '0';
29
+ var normalizedExponentText = exponentText.replace(/^([+-]?)0+(?=\d)/, '$1');
30
+ if (normalizedExponentText.replace(/^[+-]/, '').length > 6) {
31
+ throw new Error('Exact numeric value exceeds PostgreSQL NUMERIC limits');
32
+ }
33
+ var exponent = Number(normalizedExponentText);
34
+ var maximumShift = exact_numeric_constants_1.EXACT_NUMERIC_MAX_INTEGER_DIGITS
35
+ + exact_numeric_constants_1.EXACT_NUMERIC_MAX_FRACTIONAL_DIGITS;
36
+ if (exponent > maximumShift || exponent < -maximumShift) {
37
+ throw new Error('Exact numeric value exceeds PostgreSQL NUMERIC limits');
38
+ }
39
+ var decimalIndex = integerPart.length + exponent;
40
+ var expanded;
41
+ if (decimalIndex <= 0) {
42
+ expanded = "0.".concat('0'.repeat(-decimalIndex)).concat(digits);
43
+ }
44
+ else if (decimalIndex >= digits.length) {
45
+ expanded = "".concat(digits).concat('0'.repeat(decimalIndex - digits.length));
46
+ }
47
+ else {
48
+ expanded = "".concat(digits.slice(0, decimalIndex), ".").concat(digits.slice(decimalIndex));
49
+ }
50
+ var _d = expanded.split('.'), expandedIntegerPart = _d[0], _e = _d[1], expandedFractionalPart = _e === void 0 ? '' : _e;
51
+ var normalizedIntegerPart = expandedIntegerPart.replace(/^0+(?=\d)/, '');
52
+ var normalizedFractionalPart = expandedFractionalPart.replace(/0+$/, '');
53
+ if (normalizedIntegerPart.length > exact_numeric_constants_1.EXACT_NUMERIC_MAX_INTEGER_DIGITS
54
+ || normalizedFractionalPart.length > exact_numeric_constants_1.EXACT_NUMERIC_MAX_FRACTIONAL_DIGITS) {
55
+ throw new Error('Exact numeric value exceeds PostgreSQL NUMERIC limits');
56
+ }
57
+ var normalized = normalizedFractionalPart
58
+ ? "".concat(normalizedIntegerPart, ".").concat(normalizedFractionalPart)
59
+ : normalizedIntegerPart;
60
+ return "".concat(sign).concat(normalized);
61
+ }
62
+ function addExactNumeric(left, right) {
63
+ var leftValue = parseExactNumeric(left);
64
+ var rightValue = parseExactNumeric(right);
65
+ var scale = Math.max(leftValue.scale, rightValue.scale);
66
+ var leftDigits = alignScale(leftValue, scale);
67
+ var rightDigits = alignScale(rightValue, scale);
68
+ if (leftValue.sign === 0)
69
+ return formatExactNumeric(rightDigits, scale, rightValue.sign);
70
+ if (rightValue.sign === 0)
71
+ return formatExactNumeric(leftDigits, scale, leftValue.sign);
72
+ if (leftValue.sign === rightValue.sign) {
73
+ return formatExactNumeric(addUnsigned(leftDigits, rightDigits), scale, leftValue.sign);
74
+ }
75
+ var comparison = compareUnsigned(leftDigits, rightDigits);
76
+ if (comparison === 0)
77
+ return '0';
78
+ return comparison > 0
79
+ ? formatExactNumeric(subtractUnsigned(leftDigits, rightDigits), scale, leftValue.sign)
80
+ : formatExactNumeric(subtractUnsigned(rightDigits, leftDigits), scale, rightValue.sign);
81
+ }
82
+ function sumExactNumeric(values) {
83
+ return values.reduce(addExactNumeric, '0');
84
+ }
85
+ function compareExactNumeric(left, right) {
86
+ var leftValue = parseExactNumeric(left);
87
+ var rightValue = parseExactNumeric(right);
88
+ if (leftValue.sign !== rightValue.sign) {
89
+ return leftValue.sign < rightValue.sign ? -1 : 1;
90
+ }
91
+ if (leftValue.sign === 0)
92
+ return 0;
93
+ var scale = Math.max(leftValue.scale, rightValue.scale);
94
+ var comparison = compareUnsigned(alignScale(leftValue, scale), alignScale(rightValue, scale));
95
+ return leftValue.sign === 1 ? comparison : -comparison;
96
+ }
97
+ function parseExactNumeric(value) {
98
+ var canonical = toExactNumeric(value);
99
+ var isNegative = canonical.startsWith('-');
100
+ var unsigned = isNegative ? canonical.slice(1) : canonical;
101
+ var _a = unsigned.split('.'), integerPart = _a[0], _b = _a[1], fractionalPart = _b === void 0 ? '' : _b;
102
+ var digits = "".concat(integerPart).concat(fractionalPart).replace(/^0+/, '') || '0';
103
+ return {
104
+ digits: digits,
105
+ scale: fractionalPart.length,
106
+ sign: digits === '0' ? 0 : isNegative ? -1 : 1,
107
+ };
108
+ }
109
+ function alignScale(value, scale) {
110
+ return "".concat(value.digits).concat('0'.repeat(scale - value.scale));
111
+ }
112
+ function formatExactNumeric(digits, scale, sign) {
113
+ var normalizedDigits = digits.replace(/^0+/, '') || '0';
114
+ if (normalizedDigits === '0' || sign === 0)
115
+ return '0';
116
+ var signPrefix = sign === -1 ? '-' : '';
117
+ if (scale === 0)
118
+ return "".concat(signPrefix).concat(normalizedDigits);
119
+ var paddedDigits = normalizedDigits.padStart(scale + 1, '0');
120
+ var decimalIndex = paddedDigits.length - scale;
121
+ return toExactNumeric("".concat(signPrefix).concat(paddedDigits.slice(0, decimalIndex), ".").concat(paddedDigits.slice(decimalIndex)));
122
+ }
123
+ function compareUnsigned(left, right) {
124
+ var normalizedLeft = left.replace(/^0+/, '') || '0';
125
+ var normalizedRight = right.replace(/^0+/, '') || '0';
126
+ if (normalizedLeft.length !== normalizedRight.length) {
127
+ return normalizedLeft.length < normalizedRight.length ? -1 : 1;
128
+ }
129
+ if (normalizedLeft === normalizedRight)
130
+ return 0;
131
+ return normalizedLeft < normalizedRight ? -1 : 1;
132
+ }
133
+ function addUnsigned(left, right) {
134
+ var length = Math.max(left.length, right.length);
135
+ var leftDigits = left.padStart(length, '0');
136
+ var rightDigits = right.padStart(length, '0');
137
+ var result = new Array(length + 1).fill('0');
138
+ var carry = 0;
139
+ for (var index = length - 1; index >= 0; index -= 1) {
140
+ var sum = Number(leftDigits[index]) + Number(rightDigits[index]) + carry;
141
+ result[index + 1] = String(sum % 10);
142
+ carry = Math.floor(sum / 10);
143
+ }
144
+ result[0] = String(carry);
145
+ return result.join('').replace(/^0+/, '') || '0';
146
+ }
147
+ function subtractUnsigned(left, right) {
148
+ var rightDigits = right.padStart(left.length, '0');
149
+ var result = new Array(left.length).fill('0');
150
+ var borrow = 0;
151
+ for (var index = left.length - 1; index >= 0; index -= 1) {
152
+ var difference = Number(left[index]) - Number(rightDigits[index]) - borrow;
153
+ if (difference < 0) {
154
+ difference += 10;
155
+ borrow = 1;
156
+ }
157
+ else {
158
+ borrow = 0;
159
+ }
160
+ result[index] = String(difference);
161
+ }
162
+ return result.join('').replace(/^0+/, '') || '0';
163
+ }
164
+ //# sourceMappingURL=exact-numeric.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exact-numeric.js","sourceRoot":"","sources":["../../../src/utils/exact-numeric.ts"],"names":[],"mappings":";;AASA,wCA6DC;AAED,0CAuBC;AAED,0CAEC;AAED,kDAgBC;AAnHD,qEAImC;AAGnC,SAAgB,cAAc,CAAC,KAAsB;;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,wDAA8B,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,IAAM,KAAK,GAAG,+CAA+C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,IAAM,WAAW,GAAG,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;IACnC,IAAM,cAAc,GAAG,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;IACtC,IAAM,MAAM,GAAG,UAAG,WAAW,SAAG,cAAc,CAAE,CAAC;IAEjD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAM,YAAY,GAAG,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,GAAG,CAAC;IACrC,IAAM,sBAAsB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC9E,IAAI,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAM,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAChD,IAAM,YAAY,GAAG,0DAAgC;UACjD,6DAAmC,CAAC;IACxC,IAAI,QAAQ,GAAG,YAAY,IAAI,QAAQ,GAAG,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC;IACnD,IAAI,QAAgB,CAAC;IAErB,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,QAAQ,GAAG,YAAK,GAAG,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,SAAG,MAAM,CAAE,CAAC;IACvD,CAAC;SAAM,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACzC,QAAQ,GAAG,UAAG,MAAM,SAAG,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAE,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,UAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,cAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAE,CAAC;IAC9E,CAAC;IAEK,IAAA,KAAqD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAvE,mBAAmB,QAAA,EAAE,UAA2B,EAA3B,sBAAsB,mBAAG,EAAE,KAAuB,CAAC;IAC/E,IAAM,qBAAqB,GAAG,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3E,IAAM,wBAAwB,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE3E,IAAI,qBAAqB,CAAC,MAAM,GAAG,0DAAgC;WAC9D,wBAAwB,CAAC,MAAM,GAAG,6DAAmC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAM,UAAU,GAAG,wBAAwB;QACzC,CAAC,CAAC,UAAG,qBAAqB,cAAI,wBAAwB,CAAE;QACxD,CAAC,CAAC,qBAAqB,CAAC;IAE1B,OAAO,UAAG,IAAI,SAAG,UAAU,CAAE,CAAC;AAChC,CAAC;AAED,SAAgB,eAAe,CAC7B,IAAkB,EAClB,KAAmB;IAEnB,IAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAM,UAAU,GAAG,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChD,IAAM,WAAW,GAAG,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAElD,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACzF,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAExF,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,kBAAkB,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC;IAED,IAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEjC,OAAO,UAAU,GAAG,CAAC;QACnB,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;QACtF,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5F,CAAC;AAED,SAAgB,eAAe,CAAC,MAA+B;IAC7D,OAAO,MAAM,CAAC,MAAM,CAAe,eAAe,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAkB,EAAE,KAAmB;IACzE,IAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEnC,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAM,UAAU,GAAG,eAAe,CAChC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAC5B,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAC9B,CAAC;IAEF,OAAO,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACzD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAmB;IAC5C,IAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACxC,IAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,IAAA,KAAqC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAvD,WAAW,QAAA,EAAE,UAAmB,EAAnB,cAAc,mBAAG,EAAE,KAAuB,CAAC;IAC/D,IAAM,MAAM,GAAG,UAAG,WAAW,SAAG,cAAc,CAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IAE3E,OAAO;QACL,MAAM,QAAA;QACN,KAAK,EAAE,cAAc,CAAC,MAAM;QAC5B,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB,EAAE,KAAa;IAC1D,OAAO,UAAG,KAAK,CAAC,MAAM,SAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAE,CAAC;AAC7D,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,KAAa,EAAE,IAAgB;IACzE,IAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IAC1D,IAAI,gBAAgB,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEvD,IAAM,UAAU,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,UAAG,UAAU,SAAG,gBAAgB,CAAE,CAAC;IAE3D,IAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;IAEjD,OAAO,cAAc,CACnB,UAAG,UAAU,SAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,cAAI,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAE,CAC1F,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAClD,IAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IACtD,IAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IAExD,IAAI,cAAc,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,cAAc,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,cAAc,KAAK,eAAe;QAAE,OAAO,CAAC,CAAC;IAEjD,OAAO,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChD,IAAM,MAAM,GAAG,IAAI,KAAK,CAAS,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,KAAK,GAAG,MAAM,GAAG,CAAC,EAAC,KAAK,IAAI,CAAC,EAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,IAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;QAC3E,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACrC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1B,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;AACnD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAa;IACnD,IAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrD,IAAM,MAAM,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC,KAAK,IAAI,CAAC,EAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC;QAC3E,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,UAAU,IAAI,EAAE,CAAC;YACjB,MAAM,GAAG,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,CAAC;QACb,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;AACnD,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=exact-numeric.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exact-numeric.types.js","sourceRoot":"","sources":["../../../src/utils/exact-numeric.types.ts"],"names":[],"mappings":""}
@@ -21,4 +21,6 @@ __exportStar(require("./format-date"), exports);
21
21
  __exportStar(require("./escape-csv-value"), exports);
22
22
  __exportStar(require("./build-csv-file-name"), exports);
23
23
  __exportStar(require("./build-csv-file-string"), exports);
24
+ __exportStar(require("./exact-numeric"), exports);
25
+ __exportStar(require("./concurrency-limiter"), exports);
24
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,qDAAmC;AACnC,yCAAuB;AACvB,gDAA8B;AAC9B,qDAAmC;AACnC,wDAAsC;AACtC,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,qDAAmC;AACnC,yCAAuB;AACvB,gDAA8B;AAC9B,qDAAmC;AACnC,wDAAsC;AACtC,0DAAwC;AACxC,kDAAgC;AAChC,wDAAsC"}
@@ -16,4 +16,5 @@ export * from './sku-mapping-status';
16
16
  export * from './customer-account-action';
17
17
  export * from './environment-status';
18
18
  export * from './billing-domain';
19
+ export * from './usage-compaction';
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,32 @@
1
+ export var UsageGranularity;
2
+ (function (UsageGranularity) {
3
+ UsageGranularity["HOUR"] = "hour";
4
+ UsageGranularity["DAY"] = "day";
5
+ })(UsageGranularity || (UsageGranularity = {}));
6
+ export var UsageCompactionRunMode;
7
+ (function (UsageCompactionRunMode) {
8
+ UsageCompactionRunMode["DRY_RUN"] = "dry-run";
9
+ UsageCompactionRunMode["BACKFILL"] = "backfill";
10
+ UsageCompactionRunMode["SCHEDULED"] = "scheduled";
11
+ UsageCompactionRunMode["RECOMPILE"] = "recompile";
12
+ UsageCompactionRunMode["REPAIR"] = "repair";
13
+ })(UsageCompactionRunMode || (UsageCompactionRunMode = {}));
14
+ export var UsageCompactionRunStatus;
15
+ (function (UsageCompactionRunStatus) {
16
+ UsageCompactionRunStatus["QUEUED"] = "queued";
17
+ UsageCompactionRunStatus["PROCESSING"] = "processing";
18
+ UsageCompactionRunStatus["COMPLETED"] = "completed";
19
+ UsageCompactionRunStatus["PARTIAL"] = "partial";
20
+ UsageCompactionRunStatus["FAILED"] = "failed";
21
+ UsageCompactionRunStatus["CANCELLED"] = "cancelled";
22
+ })(UsageCompactionRunStatus || (UsageCompactionRunStatus = {}));
23
+ export var UsageCompactionItemStatus;
24
+ (function (UsageCompactionItemStatus) {
25
+ UsageCompactionItemStatus["QUEUED"] = "queued";
26
+ UsageCompactionItemStatus["PROCESSING"] = "processing";
27
+ UsageCompactionItemStatus["VALIDATED"] = "validated";
28
+ UsageCompactionItemStatus["COMPLETED"] = "completed";
29
+ UsageCompactionItemStatus["FAILED"] = "failed";
30
+ UsageCompactionItemStatus["SKIPPED"] = "skipped";
31
+ })(UsageCompactionItemStatus || (UsageCompactionItemStatus = {}));
32
+ //# sourceMappingURL=usage-compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-compaction.js","sourceRoot":"","sources":["../../../src/enums/usage-compaction.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,+BAAW,CAAA;AACb,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,CAAN,IAAY,sBAMX;AAND,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;IACrB,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;IACvB,2CAAiB,CAAA;AACnB,CAAC,EANW,sBAAsB,KAAtB,sBAAsB,QAMjC;AAED,MAAM,CAAN,IAAY,wBAOX;AAPD,WAAY,wBAAwB;IAClC,6CAAiB,CAAA;IACjB,qDAAyB,CAAA;IACzB,mDAAuB,CAAA;IACvB,+CAAmB,CAAA;IACnB,6CAAiB,CAAA;IACjB,mDAAuB,CAAA;AACzB,CAAC,EAPW,wBAAwB,KAAxB,wBAAwB,QAOnC;AAED,MAAM,CAAN,IAAY,yBAOX;AAPD,WAAY,yBAAyB;IACnC,8CAAiB,CAAA;IACjB,sDAAyB,CAAA;IACzB,oDAAuB,CAAA;IACvB,oDAAuB,CAAA;IACvB,8CAAiB,CAAA;IACjB,gDAAmB,CAAA;AACrB,CAAC,EAPW,yBAAyB,KAAzB,yBAAyB,QAOpC"}
@@ -1,5 +1,5 @@
1
1
  export * from './common';
2
2
  export * from './billing-domain';
3
3
  export * from './customer-account-actions';
4
- export * from './invoice-generation';
4
+ export * from './usage-compaction';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=usage-compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-compaction.js","sourceRoot":"","sources":["../../../src/types/usage-compaction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ export function concurrencyLimiter(limit, items, asyncFn) {
11
+ return __awaiter(this, void 0, void 0, function* () {
12
+ const results = [];
13
+ const executing = [];
14
+ for (const item of items) {
15
+ const p = Promise.resolve().then(() => asyncFn(item));
16
+ results.push(p);
17
+ if (limit <= items.length) {
18
+ const e = p.then(() => {
19
+ const idx = executing.indexOf(e);
20
+ if (idx > -1)
21
+ executing.splice(idx, 1);
22
+ });
23
+ executing.push(e);
24
+ if (executing.length >= limit)
25
+ yield Promise.race(executing);
26
+ }
27
+ }
28
+ return Promise.allSettled(results);
29
+ });
30
+ }
31
+ //# sourceMappingURL=concurrency-limiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency-limiter.js","sourceRoot":"","sources":["../../../src/utils/concurrency-limiter.ts"],"names":[],"mappings":";;;;;;;;;AAOA,MAAM,UAAgB,kBAAkB,CACtC,KAAa,EACb,KAAU,EACV,OAAgC;;QAEhC,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAoB,EAAE,CAAC;QAEtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEhB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACnC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,GAAG,GAAG,CAAC,CAAC;wBAAE,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAElB,IAAI,SAAS,CAAC,MAAM,IAAI,KAAK;oBAAE,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CAAA"}
@@ -0,0 +1,6 @@
1
+ export const EXACT_NUMERIC_MAX_INTEGER_DIGITS = 131072;
2
+ export const EXACT_NUMERIC_MAX_FRACTIONAL_DIGITS = 16383;
3
+ export const EXACT_NUMERIC_MAX_INPUT_LENGTH = EXACT_NUMERIC_MAX_INTEGER_DIGITS
4
+ + EXACT_NUMERIC_MAX_FRACTIONAL_DIGITS
5
+ + 32;
6
+ //# sourceMappingURL=exact-numeric.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exact-numeric.constants.js","sourceRoot":"","sources":["../../../src/utils/exact-numeric.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAO,CAAC;AACxD,MAAM,CAAC,MAAM,mCAAmC,GAAG,KAAM,CAAC;AAC1D,MAAM,CAAC,MAAM,8BAA8B,GAAG,gCAAgC;MAC1E,mCAAmC;MACnC,EAAE,CAAC"}