@advplyr/partner-hub-embedded 0.4.0 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAC/B,eAAe,EAChB,MAAM,YAAY,CAAC;AAsCpB,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,+BAA+B;;;qBAUlE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;mBAOzB;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE;EAOhD;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAC/B,eAAe,EAChB,MAAM,YAAY,CAAC;AAkFpB,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,+BAA+B;;;qBAUlE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;mBAOzB;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE;EAOhD;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
package/dist/client.js CHANGED
@@ -1,4 +1,37 @@
1
1
  import { PartnerHubEmbeddedError } from "./types.js";
2
+ /** Backoff after failed attempts 1–3; fourth attempt has no following delay. */
3
+ const GET_CUSTOMER_RETRY_DELAYS_MS = [400, 800, 1600];
4
+ function sleep(ms) {
5
+ return new Promise((resolve) => setTimeout(resolve, ms));
6
+ }
7
+ function isRetryableGetCustomerError(error) {
8
+ if (error instanceof PartnerHubEmbeddedError) {
9
+ return (error.statusCode === 401 ||
10
+ error.statusCode === 429 ||
11
+ error.statusCode === 502 ||
12
+ error.statusCode === 503 ||
13
+ error.statusCode === 504);
14
+ }
15
+ // Transient network failures (fetch throws before a response).
16
+ return error instanceof Error;
17
+ }
18
+ async function embeddedFetchGetCustomer(options, path) {
19
+ let lastError;
20
+ for (let attempt = 0; attempt <= GET_CUSTOMER_RETRY_DELAYS_MS.length; attempt++) {
21
+ try {
22
+ return await embeddedFetch(options, path);
23
+ }
24
+ catch (error) {
25
+ lastError = error;
26
+ const delay = GET_CUSTOMER_RETRY_DELAYS_MS[attempt];
27
+ if (delay === undefined || !isRetryableGetCustomerError(error)) {
28
+ throw error;
29
+ }
30
+ await sleep(delay);
31
+ }
32
+ }
33
+ throw lastError;
34
+ }
2
35
  async function embeddedFetch(options, path, init) {
3
36
  const fetchImpl = options.fetch ?? fetch;
4
37
  const base = `${options.baseUrl.replace(/\/$/, "")}/api/embedded/legacy-billing`;
@@ -24,7 +57,7 @@ async function embeddedFetch(options, path, init) {
24
57
  export function createPartnerHubEmbeddedClient(options) {
25
58
  return {
26
59
  getCustomer() {
27
- return embeddedFetch(options, "/customer");
60
+ return embeddedFetchGetCustomer(options, "/customer");
28
61
  },
29
62
  listPlans() {
30
63
  return embeddedFetch(options, "/plans");
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,KAAK,UAAU,aAAa,CAC1B,OAAwC,EACxC,IAAY,EACZ,IAAkB;IAElB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACzC,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC;IACjF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;IACpD,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,KAAK,EAAE;QAChC,GAAI,IAAI,EAAE,OAA8C;KACzD,CAAC;IACF,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;QACjD,GAAG,IAAI;QACP,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAC;IAE7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,uBAAuB,CAC/B,IAAI,CAAC,KAAK,IAAI,mBAAmB,QAAQ,CAAC,MAAM,GAAG,EACnD,QAAQ,CAAC,MAAM,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,IAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAAwC;IACrF,OAAO;QACL,WAAW;YACT,OAAO,aAAa,CAAoB,OAAO,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,SAAS;YACP,OAAO,aAAa,CAAkB,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,SAAS,CAAC,KAA6B;YACrC,OAAO,aAAa,CAAkB,OAAO,EAAE,YAAY,EAAE;gBAC3D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,QAAyC,EAAE;YAChD,OAAO,aAAa,CAAe,OAAO,EAAE,SAAS,EAAE;gBACrD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,KAAK,EAAE,CAAC;aAC9E,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@advplyr/partner-hub-embedded",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Partner Hub embedded app SDK",
5
5
  "type": "module",
6
6
  "exports": {