@wandzai/utils 1.0.73 → 1.0.74-benchmark-classifications-1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wandzai/utils",
3
- "version": "1.0.73",
3
+ "version": "1.0.74-benchmark-classifications-1",
4
4
  "description": "Common used utilities library",
5
5
  "main": "src/index",
6
6
  "scripts": {
@@ -0,0 +1,3 @@
1
+ import { CommonTargets, ICommonEntityRule, ITargetRuleItem } from '@wandzai/wandz-interfaces';
2
+ export declare const NONE_ENTITY_RELATED_TARGET_RULES: CommonTargets[];
3
+ export declare const entityRulesToOriginEntities: (rules: ITargetRuleItem[], excludeNonEntityRules?: boolean) => ICommonEntityRule[];
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.entityRulesToOriginEntities = exports.NONE_ENTITY_RELATED_TARGET_RULES = void 0;
4
+ const wandz_interfaces_1 = require("@wandzai/wandz-interfaces");
5
+ exports.NONE_ENTITY_RELATED_TARGET_RULES = [
6
+ wandz_interfaces_1.CommonTargets.URL,
7
+ wandz_interfaces_1.CommonTargets.PAGE_TITLE,
8
+ wandz_interfaces_1.CommonTargets.TIME_TO_RETURN,
9
+ ];
10
+ const entityRulesToOriginEntities = (rules, excludeNonEntityRules = true) => {
11
+ const baseArray = [];
12
+ (rules || []).forEach((rule) => {
13
+ if (!excludeNonEntityRules && exports.NONE_ENTITY_RELATED_TARGET_RULES.includes(rule.type)) {
14
+ baseArray.push({
15
+ commonTarget: rule.type,
16
+ operator: rule.operator,
17
+ value: rule.value,
18
+ });
19
+ }
20
+ else if (rule.type === wandz_interfaces_1.CommonTargets.EVENTS_COUNT) {
21
+ baseArray.push({
22
+ entityType: wandz_interfaces_1.WandzEntities.EVENT,
23
+ commonTarget: rule.type,
24
+ identifier: rule.entityIdentifier,
25
+ isCustom: rule.isCustomEntity,
26
+ });
27
+ }
28
+ else if (rule.type === wandz_interfaces_1.CommonTargets.AI_FEATURE) {
29
+ baseArray.push({
30
+ entityType: wandz_interfaces_1.WandzEntities.AI_FEATURE,
31
+ identifier: rule.entityIdentifier,
32
+ isCustom: rule.isCustomEntity,
33
+ operator: rule.operator,
34
+ value: rule.value,
35
+ });
36
+ }
37
+ else if (rule.type === wandz_interfaces_1.CommonTargets.EVENT ||
38
+ rule.type === wandz_interfaces_1.CommonTargets.AUDIENCE ||
39
+ rule.type === wandz_interfaces_1.CommonTargets.SECTION) {
40
+ baseArray.push({
41
+ entityType: rule.type,
42
+ identifier: rule.value,
43
+ isCustom: rule.isCustomEntity,
44
+ });
45
+ }
46
+ else if (rule.type === wandz_interfaces_1.CommonTargets.AFFINITY && Array.isArray(rule.value)) {
47
+ rule.value.forEach((val) => {
48
+ baseArray.push({
49
+ entityType: rule.affinityType,
50
+ identifier: val,
51
+ isCustom: true,
52
+ });
53
+ });
54
+ }
55
+ });
56
+ return baseArray;
57
+ };
58
+ exports.entityRulesToOriginEntities = entityRulesToOriginEntities;
59
+ //# sourceMappingURL=activations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activations.js","sourceRoot":"","sources":["../../../../libs/utils/src/activations.ts"],"names":[],"mappings":";;;AAAA,gEAA+H;AAElH,QAAA,gCAAgC,GAAG;IAC9C,gCAAa,CAAC,GAAG;IACjB,gCAAa,CAAC,UAAU;IACxB,gCAAa,CAAC,cAAc;CAC7B,CAAC;AAEK,MAAM,2BAA2B,GAAG,CACzC,KAAwB,EAExB,wBAAiC,IAAI,EAChB,EAAE;IACvB,MAAM,SAAS,GAAwB,EAAE,CAAC;IAC1C,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7B,IAAI,CAAC,qBAAqB,IAAI,wCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnF,SAAS,CAAC,IAAI,CAAC;gBACb,YAAY,EAAE,IAAI,CAAC,IAAI;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gCAAa,CAAC,YAAY,EAAE,CAAC;YACpD,SAAS,CAAC,IAAI,CAAC;gBACb,UAAU,EAAE,gCAAa,CAAC,KAAK;gBAC/B,YAAY,EAAE,IAAI,CAAC,IAAI;gBACvB,UAAU,EAAE,IAAI,CAAC,gBAA0B;gBAC3C,QAAQ,EAAE,IAAI,CAAC,cAAc;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gCAAa,CAAC,UAAU,EAAE,CAAC;YAClD,SAAS,CAAC,IAAI,CAAC;gBACb,UAAU,EAAE,gCAAa,CAAC,UAAU;gBACpC,UAAU,EAAE,IAAI,CAAC,gBAA0B;gBAC3C,QAAQ,EAAE,IAAI,CAAC,cAAc;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;aAAM,IACL,IAAI,CAAC,IAAI,KAAK,gCAAa,CAAC,KAAK;YACjC,IAAI,CAAC,IAAI,KAAK,gCAAa,CAAC,QAAQ;YACpC,IAAI,CAAC,IAAI,KAAK,gCAAa,CAAC,OAAO,EACnC,CAAC;YACD,SAAS,CAAC,IAAI,CAAC;gBACb,UAAU,EAAE,IAAI,CAAC,IAAmC;gBACpD,UAAU,EAAE,IAAI,CAAC,KAAwB;gBACzC,QAAQ,EAAE,IAAI,CAAC,cAAc;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gCAAa,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzB,SAAS,CAAC,IAAI,CAAC;oBACb,UAAU,EAAE,IAAI,CAAC,YAAa;oBAC9B,UAAU,EAAE,GAAa;oBACzB,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAjDW,QAAA,2BAA2B,+BAiDtC"}
package/src/common.d.ts CHANGED
@@ -11,7 +11,7 @@ export declare const upperCaseFirstCharOfEachWord: (str: string) => string;
11
11
  export declare const upperCaseFirstCharOfEachWordSplitBySpace: (str: string) => string;
12
12
  export declare const jsonToConsistentString: (jsonObj: any) => string;
13
13
  export declare const booleanStringToBoolean: (value: string) => value is "true";
14
- export declare const booleanStringToNumber: (value: string) => 0 | 1;
14
+ export declare const booleanStringToNumber: (value: string) => 1 | 0;
15
15
  export declare const normalizeSfResponseObjKeys: (obj: Record<string, any>) => {
16
16
  [k: string]: any;
17
17
  };
package/src/common.js CHANGED
@@ -32,7 +32,7 @@ const convertCamelCaseToUnderscoreObj = (obj) => {
32
32
  exports.convertCamelCaseToUnderscoreObj = convertCamelCaseToUnderscoreObj;
33
33
  const kebabToDisplayName = (kebabCase) => kebabCase
34
34
  .split('-')
35
- .map(word => word.charAt(0).toUpperCase() + word.slice(1))
35
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
36
36
  .join(' ');
37
37
  exports.kebabToDisplayName = kebabToDisplayName;
38
38
  const stringifyWithSingleQuotes = (arr) => {
@@ -79,22 +79,19 @@ const jsonToConsistentString = (jsonObj) => {
79
79
  exports.jsonToConsistentString = jsonToConsistentString;
80
80
  const booleanStringToBoolean = (value) => value === 'true';
81
81
  exports.booleanStringToBoolean = booleanStringToBoolean;
82
- const booleanStringToNumber = (value) => (0, exports.booleanStringToBoolean)(value) ? 1 : 0;
82
+ const booleanStringToNumber = (value) => ((0, exports.booleanStringToBoolean)(value) ? 1 : 0);
83
83
  exports.booleanStringToNumber = booleanStringToNumber;
84
84
  const normalizeSfResponseObjKeys = (obj) => {
85
85
  return Object.fromEntries(Object.entries(obj).map(([key, value]) => [
86
- key
87
- .toLowerCase()
88
- .replace(/_([a-z])/g, (_, char) => char.toUpperCase()),
89
- value
86
+ key.toLowerCase().replace(/_([a-z])/g, (_, char) => char.toUpperCase()),
87
+ value,
90
88
  ]));
91
89
  };
92
90
  exports.normalizeSfResponseObjKeys = normalizeSfResponseObjKeys;
93
91
  const getCurrentOnCall = (items) => {
94
92
  const rotationStart = new Date('2025-09-21');
95
93
  const now = new Date();
96
- const weeksSinceStart = Math.floor((now.getTime() - rotationStart.getTime()) /
97
- (7 * 24 * 60 * 60 * 1000));
94
+ const weeksSinceStart = Math.floor((now.getTime() - rotationStart.getTime()) / (7 * 24 * 60 * 60 * 1000));
98
95
  if (weeksSinceStart < 0)
99
96
  return '';
100
97
  return items[weeksSinceStart % items.length] ? items[weeksSinceStart % items.length].slackId : '';
package/src/common.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../libs/utils/src/common.ts"],"names":[],"mappings":";;;AAEO,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,EAAE,CAC5C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtB,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAHQ,QAAA,SAAS,aAGjB;AAEE,MAAM,4BAA4B,GAAG,CAAC,IAAY,EACjD,EAAE,CACR,IAAI;KACD,KAAK,CAAC,cAAc,CAAC;KACrB,IAAI,CAAC,GAAG,CAAC;KACT,WAAW,EAAE,CAAC;AALN,QAAA,4BAA4B,gCAKtB;AACZ,MAAM,4BAA4B,GAAG,CAAC,gBAAwB,EAAU,EAAE;IAC/E,OAAO,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAc,EAAE,KAAK,EAAE,EAAE;QACrE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAJW,QAAA,4BAA4B,gCAIvC;AAEK,MAAM,+BAA+B,GAAG,CAAC,GAAwB,EAAuB,EAAE;IAC/F,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,GAAG,CAAC,IAAA,oCAA4B,EAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AALW,QAAA,+BAA+B,mCAK1C;AAGK,MAAM,+BAA+B,GAAG,CAAC,GAAwB,EAAuB,EAAE;IAChG,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,GAAG,CAAC,IAAA,oCAA4B,EAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,EAAE,CAAC,CAAC;AACR,CAAC,CAAA;AALY,QAAA,+BAA+B,mCAK3C;AAGM,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS;KAChE,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACzD,IAAI,CAAC,GAAG,CAAC,CAAC;AAHC,QAAA,kBAAkB,sBAGnB;AAEL,MAAM,yBAAyB,GAAG,CAAC,GAAU,EAAE,EAAE;IACpD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,KAAK,GAAG,CAAC;QACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;SACG,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC;SAC/B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC,CAAA;AATY,QAAA,yBAAyB,6BASrC;AAEM,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAAlG,QAAA,kBAAkB,sBAAgF;AAExG,MAAM,4BAA4B,GAAG,CAAC,GAAW,EAAE,EAAE;IAC1D,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,KAAK;QACjD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAJW,QAAA,4BAA4B,gCAIvC;AAEK,MAAM,wCAAwC,GAAG,CAAC,GAAW,EAAE,EAAE;IACpE,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,0BAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC,CAAC;AAFW,QAAA,wCAAwC,4CAEnD;AAEK,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,EAAE;IAE9C,SAAS,UAAU,CAAC,GAAG;QACnB,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,EAAE,CAAC;QAErB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAGD,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAG1C,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC,CAAC;AA1BW,QAAA,sBAAsB,0BA0BjC;AAEK,MAAM,sBAAsB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC;AAA7D,QAAA,sBAAsB,0BAAuC;AACnE,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAE,EAAE,CACnD,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAD7B,QAAA,qBAAqB,yBACQ;AAGnC,MAAM,0BAA0B,GAAG,CAAC,GAAwB,EAAE,EAAE;IACnE,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACtC,GAAG;aACE,WAAW,EAAE;aACb,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1D,KAAK;KACR,CAAC,CACL,CAAC;AACN,CAAC,CAAA;AATY,QAAA,0BAA0B,8BAStC;AAGM,MAAM,gBAAgB,GAAG,CAAC,KAAqB,EAAC,EAAE;IACvD,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAChC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAC1B,CAAC;IACF,IAAG,eAAe,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,OAAO,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACpG,CAAC,CAAA;AAVY,QAAA,gBAAgB,oBAU5B;AAEM,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;IAC1C,OAAO,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;AACxE,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../libs/utils/src/common.ts"],"names":[],"mappings":"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"}
package/src/http.d.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import { Request } from 'express';
2
+ import { Logger } from '@nestjs/common';
2
3
  export declare function getIpFromHttpRequest(req: Request): string;
3
4
  export declare function buildUriBodyString(queryParams: Record<string, any>): string;
4
5
  export declare function getEncodedQueryParams(fullUrl: string): object;
5
6
  export declare function buildQueryString(params: Record<string, any>): string;
7
+ export declare function retryWithBackoff<T>(fn: () => Promise<T>, logger: Logger, options?: {
8
+ retries: number;
9
+ baseDelayMs: number;
10
+ }): Promise<T>;
package/src/http.js CHANGED
@@ -4,6 +4,7 @@ exports.getIpFromHttpRequest = getIpFromHttpRequest;
4
4
  exports.buildUriBodyString = buildUriBodyString;
5
5
  exports.getEncodedQueryParams = getEncodedQueryParams;
6
6
  exports.buildQueryString = buildQueryString;
7
+ exports.retryWithBackoff = retryWithBackoff;
7
8
  const querystring = require("querystring");
8
9
  function getIpFromHttpRequest(req) {
9
10
  return req.headers['x-forwarded-for']
@@ -44,4 +45,47 @@ function buildQueryString(params) {
44
45
  });
45
46
  return queryParams.toString();
46
47
  }
48
+ function getErrorDetails(error) {
49
+ if (error?.code) {
50
+ return `${error.code}: ${error.message || 'No further details'}`;
51
+ }
52
+ if (Array.isArray(error?.errors)) {
53
+ const innerErrors = error.errors.map((e) => getErrorDetails(e)).join('; ');
54
+ const errorName = error.name || 'AggregateError';
55
+ return `${errorName}: [${innerErrors}]`;
56
+ }
57
+ return error?.message || String(error);
58
+ }
59
+ async function retryWithBackoff(fn, logger, options = {
60
+ retries: 3,
61
+ baseDelayMs: 500,
62
+ }) {
63
+ const { retries, baseDelayMs } = options;
64
+ for (let attempt = 1; attempt <= retries; attempt++) {
65
+ try {
66
+ logger.log(`Attempt #${attempt} of ${retries}`);
67
+ return await fn();
68
+ }
69
+ catch (error) {
70
+ const status = error?.response?.status;
71
+ const RETRYABLE_STATUS_CODES = [502, 503, 504];
72
+ const isRetryableError = !status || RETRYABLE_STATUS_CODES.includes(status);
73
+ const isLastAttempt = attempt === retries;
74
+ const errorDetails = getErrorDetails(error);
75
+ if (!isRetryableError || isLastAttempt) {
76
+ if (isLastAttempt) {
77
+ logger.error(`All ${retries} retries failed: ${errorDetails}`);
78
+ }
79
+ else {
80
+ logger.error(`Non-retryable error (HTTP ${status}): ${errorDetails}`);
81
+ }
82
+ throw new Error(errorDetails);
83
+ }
84
+ logger.warn(`Retry #${attempt} failed: ${errorDetails}`);
85
+ const delayMs = baseDelayMs * 2 ** (attempt - 1);
86
+ await new Promise((res) => setTimeout(res, delayMs));
87
+ }
88
+ }
89
+ throw new Error('Unexpected retry loop failure');
90
+ }
47
91
  //# sourceMappingURL=http.js.map
package/src/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../libs/utils/src/http.ts"],"names":[],"mappings":";;AAOA,oDAIC;AAED,gDAIC;AAQD,sDAkBC;AAQD,4CAYC;AA9DD,2CAA2C;AAM3C,SAAgB,oBAAoB,CAAC,GAAY;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACnC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QAC7D,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;AAC/B,CAAC;AAED,SAAgB,kBAAkB,CAAC,WAAgC;IACjE,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;SAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;SAClG,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAQD,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,qBAAqB,KAAK,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,IAAI,CAAC;YAEH,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAW,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAQD,SAAgB,gBAAgB,CAAC,MAA2B;IAC1D,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAE1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../libs/utils/src/http.ts"],"names":[],"mappings":"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"}