@advplyr/partner-hub-embedded 0.1.1 → 0.2.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/dist/client.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import type { CancelResult, ListPlansResult, PartnerHubEmbeddedClientOptions, SubscribeResult } from "./types.js";
1
+ import type { CancelResult, GetSubscriptionResult, ListPlansResult, PartnerHubEmbeddedClientOptions, SubscribeResult } from "./types.js";
2
2
  export declare function createPartnerHubEmbeddedClient(options: PartnerHubEmbeddedClientOptions): {
3
+ getSubscription(): Promise<GetSubscriptionResult>;
3
4
  listPlans(): Promise<ListPlansResult>;
4
5
  subscribe(input: {
5
6
  planHandle: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,+BAA+B,EAC/B,eAAe,EAChB,MAAM,YAAY,CAAC;AAsCpB,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,+BAA+B;;qBAMlE;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,qBAAqB,EACrB,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"}
package/dist/client.js CHANGED
@@ -23,6 +23,9 @@ async function embeddedFetch(options, path, init) {
23
23
  }
24
24
  export function createPartnerHubEmbeddedClient(options) {
25
25
  return {
26
+ getSubscription() {
27
+ return embeddedFetch(options, "/subscription");
28
+ },
26
29
  listPlans() {
27
30
  return embeddedFetch(options, "/plans");
28
31
  },
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAMA,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,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":"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,eAAe;YACb,OAAO,aAAa,CAAwB,OAAO,EAAE,eAAe,CAAC,CAAC;QACxE,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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { createPartnerHubEmbeddedClient, type PartnerHubEmbeddedClient, } from "./client.js";
2
- export { PartnerHubEmbeddedError, type CancelResult, type CatalogPlan, type ListPlansResult, type PartnerHubEmbeddedClientOptions, type SubscribeResult, } from "./types.js";
2
+ export { PartnerHubEmbeddedError, type CancelResult, type CatalogPlan, type PlanFeature, type EmbeddedSubscription, type FeatureType, type FeatureValue, type GetSubscriptionResult, type ListPlansResult, type PartnerHubEmbeddedClientOptions, type ResolvedFeature, type SubscribeResult, } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,GAE/B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,GAMxB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,GAE/B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,GAYxB,MAAM,YAAY,CAAC"}
package/dist/react.d.ts CHANGED
@@ -1,9 +1,12 @@
1
- import type { CancelResult, ListPlansResult, PartnerHubEmbeddedClientOptions, SubscribeResult } from "./types.js";
1
+ import type { CancelResult, CatalogPlan, PlanFeature, EmbeddedSubscription, PartnerHubEmbeddedClientOptions, SubscribeResult } from "./types.js";
2
2
  export type UsePartnerHubOptions = PartnerHubEmbeddedClientOptions;
3
3
  export interface UsePartnerHubResult {
4
+ subscription: EmbeddedSubscription | null;
5
+ features: PlanFeature[];
6
+ plans: CatalogPlan[];
4
7
  loading: boolean;
5
8
  error: string | null;
6
- listPlans: () => Promise<ListPlansResult>;
9
+ refetch: () => Promise<void>;
7
10
  subscribe: (input: {
8
11
  planHandle: string;
9
12
  }) => Promise<SubscribeResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,+BAA+B,EAC/B,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CA8DhF"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,+BAA+B,EAC/B,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CAyHhF"}
package/dist/react.js CHANGED
@@ -1,4 +1,4 @@
1
- import { useCallback, useMemo, useRef, useState } from "react";
1
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
2
  import { createPartnerHubEmbeddedClient } from "./client.js";
3
3
  import { PartnerHubEmbeddedError } from "./types.js";
4
4
  export function usePartnerHub(options) {
@@ -14,13 +14,25 @@ export function usePartnerHub(options) {
14
14
  return fetchImpl(input, init);
15
15
  },
16
16
  }), [options.baseUrl]);
17
+ const [subscription, setSubscription] = useState(null);
18
+ const [features, setFeatures] = useState([]);
19
+ const [plans, setPlans] = useState([]);
17
20
  const [loading, setLoading] = useState(false);
18
21
  const [error, setError] = useState(null);
19
- const run = useCallback(async function run(operation) {
22
+ const refetch = useCallback(async () => {
23
+ if (!options.baseUrl) {
24
+ return;
25
+ }
20
26
  setLoading(true);
21
27
  setError(null);
22
28
  try {
23
- return await operation();
29
+ const [subscriptionResult, plansResult] = await Promise.all([
30
+ client.getSubscription(),
31
+ client.listPlans(),
32
+ ]);
33
+ setSubscription(subscriptionResult.subscription);
34
+ setFeatures(subscriptionResult.features);
35
+ setPlans(plansResult.plans);
24
36
  }
25
37
  catch (err) {
26
38
  const message = err instanceof PartnerHubEmbeddedError
@@ -34,14 +46,57 @@ export function usePartnerHub(options) {
34
46
  finally {
35
47
  setLoading(false);
36
48
  }
37
- }, []);
38
- const listPlans = useCallback(() => run(() => client.listPlans()), [client, run]);
39
- const subscribe = useCallback((input) => run(() => client.subscribe(input)), [client, run]);
40
- const cancel = useCallback((input) => run(() => client.cancel(input ?? {})), [client, run]);
49
+ }, [client, options.baseUrl]);
50
+ useEffect(() => {
51
+ if (!options.baseUrl) {
52
+ return;
53
+ }
54
+ void refetch().catch(() => {
55
+ // Errors are captured in state by refetch.
56
+ });
57
+ }, [options.baseUrl, refetch]);
58
+ const subscribe = useCallback(async (input) => {
59
+ try {
60
+ const result = await client.subscribe(input);
61
+ // Refetch for free plans that don't require confirmation
62
+ if (result.status === "active" && !result.confirmationUrl) {
63
+ await refetch();
64
+ }
65
+ return result;
66
+ }
67
+ catch (err) {
68
+ const message = err instanceof PartnerHubEmbeddedError
69
+ ? err.message
70
+ : err instanceof Error
71
+ ? err.message
72
+ : "Partner Hub request failed";
73
+ setError(message);
74
+ throw err;
75
+ }
76
+ }, [client, refetch]);
77
+ const cancel = useCallback(async (input) => {
78
+ try {
79
+ const result = await client.cancel(input ?? {});
80
+ await refetch();
81
+ return result;
82
+ }
83
+ catch (err) {
84
+ const message = err instanceof PartnerHubEmbeddedError
85
+ ? err.message
86
+ : err instanceof Error
87
+ ? err.message
88
+ : "Partner Hub request failed";
89
+ setError(message);
90
+ throw err;
91
+ }
92
+ }, [client, refetch]);
41
93
  return {
94
+ subscription,
95
+ features,
96
+ plans,
42
97
  loading,
43
98
  error,
44
- listPlans,
99
+ refetch,
45
100
  subscribe,
46
101
  cancel,
47
102
  };
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAO7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAYrD,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3D,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAEjC,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CACH,8BAA8B,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,eAAe,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE;QACnD,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC;YAC5C,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;KACF,CAAC,EACJ,CAAC,OAAO,CAAC,OAAO,CAAC,CAClB,CAAC;IAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExD,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,UAAU,GAAG,CAAI,SAA2B;QACvE,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GACX,GAAG,YAAY,uBAAuB;gBACpC,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,GAAG,YAAY,KAAK;oBACpB,CAAC,CAAC,GAAG,CAAC,OAAO;oBACb,CAAC,CAAC,4BAA4B,CAAC;YACrC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAElF,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,KAA6B,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACrE,CAAC,MAAM,EAAE,GAAG,CAAC,CACd,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,KAAuC,EAAE,EAAE,CAC1C,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EACvC,CAAC,MAAM,EAAE,GAAG,CAAC,CACd,CAAC;IAEF,OAAO;QACL,OAAO;QACP,KAAK;QACL,SAAS;QACT,SAAS;QACT,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,28 @@
1
+ export type FeatureType = "boolean" | "number" | "string";
2
+ export type FeatureValue = boolean | number | string;
3
+ export interface PlanFeature {
4
+ key: string;
5
+ name: string;
6
+ type: FeatureType;
7
+ value: FeatureValue;
8
+ }
9
+ export interface EmbeddedSubscription {
10
+ planHandle: string | null;
11
+ planName: string | null;
12
+ billingPeriod: string | null;
13
+ status: string | null;
14
+ trialEndsAt: string | null;
15
+ cancelAtEndOfCycle: boolean;
16
+ cancelEffectiveAt: string | null;
17
+ currentPeriodStart: string | null;
18
+ currentPeriodEnd: string | null;
19
+ currency: string | null;
20
+ recurringAmountCents: number | null;
21
+ }
22
+ export interface GetSubscriptionResult {
23
+ subscription: EmbeddedSubscription | null;
24
+ features: PlanFeature[];
25
+ }
1
26
  export interface CatalogPlan {
2
27
  id: string;
3
28
  handle: string;
@@ -10,6 +35,7 @@ export interface CatalogPlan {
10
35
  usageCapCents: number | null;
11
36
  usageTerms: string | null;
12
37
  developerStoreOnly: boolean;
38
+ features: PlanFeature[];
13
39
  }
14
40
  export interface PartnerHubEmbeddedClientOptions {
15
41
  baseUrl: string;
@@ -22,12 +48,18 @@ export interface ListPlansResult {
22
48
  export interface CancelResult {
23
49
  [key: string]: unknown;
24
50
  }
51
+ export interface ResolvedFeature {
52
+ key: string;
53
+ name: string;
54
+ type: FeatureType;
55
+ value: FeatureValue;
56
+ }
25
57
  export interface SubscribeResult {
26
58
  subscriptionId: string;
27
59
  status: "pending" | "active";
28
60
  confirmationUrl: string | null;
29
61
  planHandle: string;
30
- features: Record<string, unknown>;
62
+ features: Record<string, ResolvedFeature>;
31
63
  }
32
64
  export declare class PartnerHubEmbeddedError extends Error {
33
65
  readonly statusCode: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAG9C,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAD3B,OAAO,EAAE,MAAM,EACN,UAAU,EAAE,MAAM;CAK9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AACD,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC3C;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAG9C,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAD3B,OAAO,EAAE,MAAM,EACN,UAAU,EAAE,MAAM;CAK9B"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAoCA,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAGrC;IAFX,YACE,OAAe,EACN,UAAkB;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,eAAU,GAAV,UAAU,CAAQ;QAG3B,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAwEA,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAGrC;IAFX,YACE,OAAe,EACN,UAAkB;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,eAAU,GAAV,UAAU,CAAQ;QAG3B,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,45 +1,45 @@
1
- {
2
- "name": "@advplyr/partner-hub-embedded",
3
- "version": "0.1.1",
4
- "description": "Partner Hub embedded app SDK",
5
- "type": "module",
6
- "exports": {
7
- ".": {
8
- "types": "./dist/index.d.ts",
9
- "default": "./dist/index.js"
10
- },
11
- "./react": {
12
- "types": "./dist/react.d.ts",
13
- "default": "./dist/react.js"
14
- }
15
- },
16
- "files": [
17
- "dist"
18
- ],
19
- "scripts": {
20
- "build": "tsc",
21
- "dev": "tsc --watch",
22
- "typecheck": "tsc --noEmit"
23
- },
24
- "repository": {
25
- "type": "git",
26
- "url": "git+https://github.com/advplyr/shopify-partner-hub.git",
27
- "directory": "packages/partner-hub-embedded"
28
- },
29
- "publishConfig": {
30
- "access": "public",
31
- "registry": "https://registry.npmjs.org"
32
- },
33
- "peerDependencies": {
34
- "react": ">=18"
35
- },
36
- "peerDependenciesMeta": {
37
- "react": {
38
- "optional": true
39
- }
40
- },
41
- "devDependencies": {
42
- "@types/react": "^19.1.6",
43
- "react": "^19.1.0"
44
- }
45
- }
1
+ {
2
+ "name": "@advplyr/partner-hub-embedded",
3
+ "version": "0.2.1",
4
+ "description": "Partner Hub embedded app SDK",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "default": "./dist/index.js"
10
+ },
11
+ "./react": {
12
+ "types": "./dist/react.d.ts",
13
+ "default": "./dist/react.js"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "dev": "tsc --watch",
22
+ "typecheck": "tsc --noEmit"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/advplyr/shopify-partner-hub.git",
27
+ "directory": "packages/partner-hub-embedded"
28
+ },
29
+ "publishConfig": {
30
+ "access": "public",
31
+ "registry": "https://registry.npmjs.org"
32
+ },
33
+ "peerDependencies": {
34
+ "react": ">=18"
35
+ },
36
+ "peerDependenciesMeta": {
37
+ "react": {
38
+ "optional": true
39
+ }
40
+ },
41
+ "devDependencies": {
42
+ "@types/react": "^19.1.6",
43
+ "react": "^19.1.0"
44
+ }
45
+ }