@abyss-project/monitor 16.3.0 → 16.4.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.
@@ -1,6 +1,7 @@
1
1
  import { Code } from '../types';
2
2
  export declare const QUOTA_MESSAGE_RE: RegExp;
3
3
  export declare const buildQuotaMessage: (metric: string) => string;
4
+ export declare const carriesApiErrorCode: (error: unknown, code: string) => boolean;
4
5
  export declare const isQuotaBlocked: (error: unknown) => error is {
5
6
  code: typeof Code.accessNotAllowed;
6
7
  message: string;
@@ -1,20 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseQuotaMetric = exports.isQuotaBlocked = exports.buildQuotaMessage = exports.QUOTA_MESSAGE_RE = void 0;
3
+ exports.parseQuotaMetric = exports.isQuotaBlocked = exports.carriesApiErrorCode = exports.buildQuotaMessage = exports.QUOTA_MESSAGE_RE = void 0;
4
4
  const types_1 = require("../types");
5
5
  const QUOTA_MESSAGE_PREFIX = 'Quota reached for ';
6
6
  const QUOTA_MESSAGE_SUFFIX = ' on the current plan';
7
7
  exports.QUOTA_MESSAGE_RE = new RegExp(`^${QUOTA_MESSAGE_PREFIX}([A-Z0-9_]+)${QUOTA_MESSAGE_SUFFIX}$`);
8
8
  const buildQuotaMessage = (metric) => `${QUOTA_MESSAGE_PREFIX}${metric}${QUOTA_MESSAGE_SUFFIX}`;
9
9
  exports.buildQuotaMessage = buildQuotaMessage;
10
- const isQuotaBlocked = (error) => {
10
+ const carriesApiErrorCode = (error, code) => {
11
11
  if (typeof error !== 'object' || error === null)
12
12
  return false;
13
13
  const candidate = error;
14
- const nestedError = candidate.response?.data?.error;
15
- const code = candidate.code ?? nestedError?.code;
16
- if (code !== types_1.Code.accessNotAllowed)
14
+ return [candidate.code, candidate.response?.data?.error?.code].includes(code);
15
+ };
16
+ exports.carriesApiErrorCode = carriesApiErrorCode;
17
+ const isQuotaBlocked = (error) => {
18
+ if (!(0, exports.carriesApiErrorCode)(error, types_1.Code.accessNotAllowed))
17
19
  return false;
20
+ const candidate = error;
21
+ const nestedError = candidate.response?.data?.error;
18
22
  const messages = [candidate.message, nestedError?.message];
19
23
  return messages.some((message) => typeof message === 'string' && exports.QUOTA_MESSAGE_RE.test(message));
20
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"billing-quota-error.utils.js","sourceRoot":"","sources":["../../src/utils/billing-quota-error.utils.ts"],"names":[],"mappings":";;;AAAA,oCAAgC;AAYhC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAClD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACvC,QAAA,gBAAgB,GAAG,IAAI,MAAM,CACxC,IAAI,oBAAoB,eAAe,oBAAoB,GAAG,CAC/D,CAAC;AAOK,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAU,EAAE,CAC1D,GAAG,oBAAoB,GAAG,MAAM,GAAG,oBAAoB,EAAE,CAAC;AAD/C,QAAA,iBAAiB,qBAC8B;AAarD,MAAM,cAAc,GAAG,CAC5B,KAAc,EACoD,EAAE;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,SAAS,GAAG,KAAqB,CAAC;IACxC,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;IACpD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,WAAW,EAAE,IAAI,CAAC;IACjD,IAAI,IAAI,KAAK,YAAI,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAMjD,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,wBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC;AAfW,QAAA,cAAc,kBAezB;AAKK,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAiB,EAAE;IAChE,IAAI,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,SAAS,GAAG,KAAqB,CAAC;IACxC,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;IACpD,MAAM,UAAU,GAAG;QACjB,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAChE,OAAO,WAAW,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KACtE,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,KAAK,GAAG,wBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B"}
1
+ {"version":3,"file":"billing-quota-error.utils.js","sourceRoot":"","sources":["../../src/utils/billing-quota-error.utils.ts"],"names":[],"mappings":";;;AAAA,oCAAgC;AAYhC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAClD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACvC,QAAA,gBAAgB,GAAG,IAAI,MAAM,CACxC,IAAI,oBAAoB,eAAe,oBAAoB,GAAG,CAC/D,CAAC;AAOK,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAU,EAAE,CAC1D,GAAG,oBAAoB,GAAG,MAAM,GAAG,oBAAoB,EAAE,CAAC;AAD/C,QAAA,iBAAiB,qBAC8B;AAgBrD,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAE,IAAY,EAAW,EAAE;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,SAAS,GAAG,KAAqB,CAAC;IACxC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChF,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAOK,MAAM,cAAc,GAAG,CAC5B,KAAc,EACoD,EAAE;IACpE,IAAI,CAAC,IAAA,2BAAmB,EAAC,KAAK,EAAE,YAAI,CAAC,gBAAgB,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,MAAM,SAAS,GAAG,KAAqB,CAAC;IACxC,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;IAMpD,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,wBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC;AAbW,QAAA,cAAc,kBAazB;AAKK,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAiB,EAAE;IAChE,IAAI,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,SAAS,GAAG,KAAqB,CAAC;IACxC,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;IACpD,MAAM,UAAU,GAAG;QACjB,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAChE,OAAO,WAAW,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KACtE,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,KAAK,GAAG,wBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abyss-project/monitor",
3
- "version": "16.3.0",
3
+ "version": "16.4.0",
4
4
  "description": "Core package to interact with Abyss-Monitor",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",