@uninspired/auth-client 0.0.13 → 0.0.14
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/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +7 -5
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +7 -5
- package/dist/types/index.d.ts +10 -3
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var{defineProperty:
|
|
1
|
+
var{defineProperty:a,getOwnPropertyNames:R,getOwnPropertyDescriptor:x}=Object,d=Object.prototype.hasOwnProperty;var c=new WeakMap,k=(t)=>{var e=c.get(t),r;if(e)return e;if(e=a({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function")R(t).map((n)=>!d.call(e,n)&&a(e,n,{get:()=>t[n],enumerable:!(r=x(t,n))||r.enumerable}));return c.set(t,e),e};var P=(t,e)=>{for(var r in e)a(t,r,{get:e[r],enumerable:!0,configurable:!0,set:(n)=>e[r]=()=>n})};var U={};P(U,{makeUsBetterAuthClient:()=>S,makeRedirectIntent:()=>y,makePublicClient:()=>b,makeMailingListClient:()=>O,makeLoginUrl:()=>T,makeCheckoutUrl:()=>j,makeCheckoutClient:()=>L,makeAppClient:()=>A,hasUserSubscribed:()=>I,hasUserPurchased:()=>M,formatPrice:()=>g.formatPrice});module.exports=k(U);var l=require("hono/client"),b=(t,e)=>{return l.hc(t,e)};var m=require("hono/client"),A=(t,e)=>{return m.hc(t,{...e,fetch:(r,n)=>(e?.fetch??fetch)(r,{...n,credentials:"include",headers:{...n.headers,"Content-Type":"application/json"}})})};var o=require("better-auth/client/plugins"),f=require("better-auth/react"),S=(t)=>{return f.createAuthClient({baseURL:t,plugins:[o.customSessionClient(),o.magicLinkClient(),o.emailOTPClient(),o.passkeyClient()]})};var h=require("hono/client"),L=(t,e)=>{return h.hc(t,{...e,fetch:(r,n)=>(e?.fetch??fetch)(r,{...n,credentials:"include",headers:{...n.headers,"Content-Type":"application/json"}})})};var C=require("hono/client"),O=(t,e,r)=>{return C.hc(t,{...r,headers:{...r?.headers,"X-Public-Key":e}})};function T(t,e,r){let n=new URL("/login",t);if(e)n.searchParams.set("intent",y(e,r));return n.toString()}function q(...t){}function j(t,e,r,n,s,p,u){q({priceId:e,productId:r,discountCode:n,loginUrl:s,pricingUrl:p,successUrl:u});let i=new URL("/auth/checkout",t);if(i.searchParams.set("priceId",e),i.searchParams.set("productId",r),n)i.searchParams.set("discountCode",n);if(s)i.searchParams.set("loginUrl",s);if(p)i.searchParams.set("pricingUrl",p);if(u)i.searchParams.set("successUrl",u);return i.toString()}function y(t,e){return JSON.stringify({type:"redirect",redirectUrl:t,appName:e})}function M(t,e){if(!t)return!1;return t.products.transactions.some((r)=>{r.productId===e&&r.status})}function I(t,e){if(!t)return!1;return t.products.subscriptions.some((r)=>{r.productId===e&&r.status})}var g=require("@us-accounts/utils");
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=F78CCA901C70F47064756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/clients/publicClient.ts", "../../src/clients/appClient.ts", "../../src/clients/authClient.ts", "../../src/clients/checkoutClient.ts", "../../src/clients/mailingListClient.ts", "../../src/utils/intent.ts"],
|
|
3
|
+
"sources": ["../../src/clients/publicClient.ts", "../../src/clients/appClient.ts", "../../src/clients/authClient.ts", "../../src/clients/checkoutClient.ts", "../../src/clients/mailingListClient.ts", "../../src/utils/intent.ts", "../../src/utils/purchase.ts", "../../src/utils/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type { PublicRouter } from \"@us-accounts/api\";\nimport { hc, type ClientRequestOptions } from \"hono/client\";\n\nexport type PublicClient = ReturnType<typeof hc<PublicRouter>>;\n\nexport const makePublicClient = (\n baseURL: string,\n options?: ClientRequestOptions,\n): PublicClient => {\n return hc<PublicRouter>(baseURL, options);\n};\n",
|
|
6
6
|
"import type { AppRouter } from \"@us-accounts/api\";\nimport { hc, type ClientRequestOptions } from \"hono/client\";\n\nexport type AppClient = ReturnType<typeof hc<AppRouter>>;\n\nexport const makeAppClient = (\n baseURL: string,\n options?: ClientRequestOptions,\n): AppClient => {\n return hc<AppRouter>(baseURL, {\n ...options,\n fetch: (url: any, init: any) =>\n (options?.fetch ?? fetch)(url, {\n ...init,\n credentials: \"include\",\n headers: {\n ...init.headers,\n \"Content-Type\": \"application/json\",\n },\n }),\n });\n};\n",
|
|
7
|
-
"import {\n customSessionClient,\n magicLinkClient,\n emailOTPClient,\n passkeyClient,\n} from \"better-auth/client/plugins\";\nimport { createAuthClient } from \"better-auth/react\";\nimport type { Auth } from \"@us-accounts/api\";\n\nexport const makeUsBetterAuthClient = (baseURL: string) => {\n return createAuthClient({\n baseURL,\n plugins: [\n customSessionClient<Auth>(),\n magicLinkClient(),\n emailOTPClient(),\n passkeyClient(),\n ],\n });\n};\n",
|
|
7
|
+
"import {\n customSessionClient,\n magicLinkClient,\n emailOTPClient,\n passkeyClient,\n} from \"better-auth/client/plugins\";\nimport { createAuthClient } from \"better-auth/react\";\nimport type { Auth } from \"@us-accounts/api\";\n\nexport const makeUsBetterAuthClient = (baseURL: string) => {\n return createAuthClient({\n baseURL,\n plugins: [\n customSessionClient<Auth>(),\n magicLinkClient(),\n emailOTPClient(),\n passkeyClient(),\n ],\n });\n};\n\nexport type AuthClient = ReturnType<typeof makeUsBetterAuthClient>;\n",
|
|
8
8
|
"import type { CheckoutRouter } from \"@us-accounts/api\";\nimport { hc, type ClientRequestOptions } from \"hono/client\";\n\nexport type CheckoutClient = ReturnType<typeof hc<CheckoutRouter>>;\n\nexport const makeCheckoutClient = (\n baseURL: string,\n options?: ClientRequestOptions,\n): CheckoutClient => {\n return hc<CheckoutRouter>(baseURL, {\n ...options,\n fetch: (url: any, init: any) =>\n (options?.fetch ?? fetch)(url, {\n ...init,\n credentials: \"include\",\n headers: {\n ...init.headers,\n \"Content-Type\": \"application/json\",\n },\n }),\n });\n};\n",
|
|
9
9
|
"import type { MailingListRouter } from \"@us-accounts/api\";\nimport { hc, type ClientRequestOptions } from \"hono/client\";\n\nexport type MailingListClient = ReturnType<typeof hc<MailingListRouter>>;\n\nexport const makeMailingListClient = (\n baseURL: string,\n publicKey: string,\n options?: ClientRequestOptions,\n): MailingListClient => {\n return hc<MailingListRouter>(baseURL, {\n ...options,\n headers: {\n ...options?.headers,\n \"X-Public-Key\": publicKey,\n },\n });\n};\n",
|
|
10
|
-
"import type { CheckoutSearch, RedirectIntent } from \"@us-accounts/utils\";\n\nexport function makeLoginUrl(\n apiUrl: string,\n redirectUrl?: string,\n appName?: string,\n) {\n const url = new URL(\"/login\", apiUrl);\n if (redirectUrl) {\n url.searchParams.set(\"intent\", makeRedirectIntent(redirectUrl, appName));\n }\n return url.toString();\n}\n\nfunction noop(...args: any[]) {\n // Do nothing\n}\n\nexport function makeCheckoutUrl(\n apiUrl: string,\n priceId: string,\n productId: string,\n discountCode?: string,\n loginUrl?: string,\n pricingUrl?: string,\n successUrl?: string,\n) {\n const obj = {\n priceId,\n productId,\n discountCode,\n loginUrl,\n pricingUrl,\n successUrl,\n } satisfies CheckoutSearch;\n noop(obj);\n\n const url = new URL(\"/auth/checkout\", apiUrl);\n url.searchParams.set(\"priceId\", priceId);\n url.searchParams.set(\"productId\", productId);\n if (discountCode) {\n url.searchParams.set(\"discountCode\", discountCode);\n }\n if (loginUrl) {\n url.searchParams.set(\"loginUrl\", loginUrl);\n }\n if (pricingUrl) {\n url.searchParams.set(\"pricingUrl\", pricingUrl);\n }\n if (successUrl) {\n url.searchParams.set(\"successUrl\", successUrl);\n }\n return url.toString();\n}\n\nexport function makeRedirectIntent(\n redirectUrl: string,\n appName?: string,\n): string {\n const obj = {\n type: \"redirect\",\n redirectUrl,\n appName,\n } satisfies RedirectIntent;\n\n return JSON.stringify(obj);\n}\n"
|
|
10
|
+
"import type { CheckoutSearch, RedirectIntent } from \"@us-accounts/utils\";\n\nexport function makeLoginUrl(\n apiUrl: string,\n redirectUrl?: string,\n appName?: string,\n) {\n const url = new URL(\"/login\", apiUrl);\n if (redirectUrl) {\n url.searchParams.set(\"intent\", makeRedirectIntent(redirectUrl, appName));\n }\n return url.toString();\n}\n\nfunction noop(...args: any[]) {\n // Do nothing\n}\n\nexport function makeCheckoutUrl(\n apiUrl: string,\n priceId: string,\n productId: string,\n discountCode?: string,\n loginUrl?: string,\n pricingUrl?: string,\n successUrl?: string,\n) {\n const obj = {\n priceId,\n productId,\n discountCode,\n loginUrl,\n pricingUrl,\n successUrl,\n } satisfies CheckoutSearch;\n noop(obj);\n\n const url = new URL(\"/auth/checkout\", apiUrl);\n url.searchParams.set(\"priceId\", priceId);\n url.searchParams.set(\"productId\", productId);\n if (discountCode) {\n url.searchParams.set(\"discountCode\", discountCode);\n }\n if (loginUrl) {\n url.searchParams.set(\"loginUrl\", loginUrl);\n }\n if (pricingUrl) {\n url.searchParams.set(\"pricingUrl\", pricingUrl);\n }\n if (successUrl) {\n url.searchParams.set(\"successUrl\", successUrl);\n }\n return url.toString();\n}\n\nexport function makeRedirectIntent(\n redirectUrl: string,\n appName?: string,\n): string {\n const obj = {\n type: \"redirect\",\n redirectUrl,\n appName,\n } satisfies RedirectIntent;\n\n return JSON.stringify(obj);\n}\n",
|
|
11
|
+
"import type { AuthClient } from \"../clients/authClient\";\n\nexport type SessionData = ReturnType<AuthClient[\"useSession\"]>[\"data\"];\n\nexport function hasUserPurchased(\n sessionData: SessionData,\n productId: string,\n): boolean {\n if (!sessionData) return false;\n return sessionData.products.transactions.some((transaction) => {\n transaction.productId === productId && transaction.status === \"completed\";\n });\n}\n\nexport function hasUserSubscribed(\n sessionData: SessionData,\n productId: string,\n): boolean {\n if (!sessionData) return false;\n return sessionData.products.subscriptions.some((subscription) => {\n subscription.productId === productId && subscription.status === \"active\";\n });\n}\n",
|
|
12
|
+
"export * from \"./intent\";\nexport * from \"./purchase\";\nexport { formatPrice } from \"@us-accounts/utils\";\n"
|
|
11
13
|
],
|
|
12
|
-
"mappings": "
|
|
13
|
-
"debugId": "
|
|
14
|
+
"mappings": "yvBAC8C,IAA9C,yBAIa,EAAmB,CAC9B,EACA,IACiB,CACjB,OAAO,KAAiB,EAAS,CAAO,GCRI,IAA9C,yBAIa,EAAgB,CAC3B,EACA,IACc,CACd,OAAO,KAAc,EAAS,IACzB,EACH,MAAO,CAAC,EAAU,KACf,GAAS,OAAS,OAAO,EAAK,IAC1B,EACH,YAAa,UACb,QAAS,IACJ,EAAK,QACR,eAAgB,kBAClB,CACF,CAAC,CACL,CAAC,GCfI,IALP,wCAMA,+BAGa,EAAyB,CAAC,IAAoB,CACzD,OAAO,mBAAiB,CACtB,UACA,QAAS,CACP,sBAA0B,EAC1B,kBAAgB,EAChB,iBAAe,EACf,gBAAc,CAChB,CACF,CAAC,GCjB2C,IAA9C,yBAIa,EAAqB,CAChC,EACA,IACmB,CACnB,OAAO,KAAmB,EAAS,IAC9B,EACH,MAAO,CAAC,EAAU,KACf,GAAS,OAAS,OAAO,EAAK,IAC1B,EACH,YAAa,UACb,QAAS,IACJ,EAAK,QACR,eAAgB,kBAClB,CACF,CAAC,CACL,CAAC,GCnB2C,IAA9C,yBAIa,EAAwB,CACnC,EACA,EACA,IACsB,CACtB,OAAO,KAAsB,EAAS,IACjC,EACH,QAAS,IACJ,GAAS,QACZ,eAAgB,CAClB,CACF,CAAC,GCdI,SAAS,CAAY,CAC1B,EACA,EACA,EACA,CACA,IAAM,EAAM,IAAI,IAAI,SAAU,CAAM,EACpC,GAAI,EACF,EAAI,aAAa,IAAI,SAAU,EAAmB,EAAa,CAAO,CAAC,EAEzE,OAAO,EAAI,SAAS,EAGtB,SAAS,CAAI,IAAI,EAAa,EAIvB,SAAS,CAAe,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CASA,EARY,CACV,UACA,YACA,eACA,WACA,aACA,YACF,CACQ,EAER,IAAM,EAAM,IAAI,IAAI,iBAAkB,CAAM,EAG5C,GAFA,EAAI,aAAa,IAAI,UAAW,CAAO,EACvC,EAAI,aAAa,IAAI,YAAa,CAAS,EACvC,EACF,EAAI,aAAa,IAAI,eAAgB,CAAY,EAEnD,GAAI,EACF,EAAI,aAAa,IAAI,WAAY,CAAQ,EAE3C,GAAI,EACF,EAAI,aAAa,IAAI,aAAc,CAAU,EAE/C,GAAI,EACF,EAAI,aAAa,IAAI,aAAc,CAAU,EAE/C,OAAO,EAAI,SAAS,EAGf,SAAS,CAAkB,CAChC,EACA,EACQ,CAOR,OAAO,KAAK,UANA,CACV,KAAM,WACN,cACA,SACF,CAEyB,EC7DpB,SAAS,CAAgB,CAC9B,EACA,EACS,CACT,GAAI,CAAC,EAAa,MAAO,GACzB,OAAO,EAAY,SAAS,aAAa,KAAK,CAAC,IAAgB,CAC7D,EAAY,YAAc,GAAa,EAAY,OACpD,EAGI,SAAS,CAAiB,CAC/B,EACA,EACS,CACT,GAAI,CAAC,EAAa,MAAO,GACzB,OAAO,EAAY,SAAS,cAAc,KAAK,CAAC,IAAiB,CAC/D,EAAa,YAAc,GAAa,EAAa,OACtD,ECnByB,IAA5B",
|
|
15
|
+
"debugId": "F78CCA901C70F47064756E2164756E21",
|
|
14
16
|
"names": []
|
|
15
17
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{hc as u}from"hono/client";var
|
|
1
|
+
import{hc as u}from"hono/client";var k=(t,e)=>{return u(t,e)};import{hc as a}from"hono/client";var A=(t,e)=>{return a(t,{...e,fetch:(r,n)=>(e?.fetch??fetch)(r,{...n,credentials:"include",headers:{...n.headers,"Content-Type":"application/json"}})})};import{customSessionClient as c,magicLinkClient as l,emailOTPClient as m,passkeyClient as f}from"better-auth/client/plugins";import{createAuthClient as h}from"better-auth/react";var T=(t)=>{return h({baseURL:t,plugins:[c(),l(),m(),f()]})};import{hc as C}from"hono/client";var M=(t,e)=>{return C(t,{...e,fetch:(r,n)=>(e?.fetch??fetch)(r,{...n,credentials:"include",headers:{...n.headers,"Content-Type":"application/json"}})})};import{hc as y}from"hono/client";var w=(t,e,r)=>{return y(t,{...r,headers:{...r?.headers,"X-Public-Key":e}})};function z(t,e,r){let n=new URL("/login",t);if(e)n.searchParams.set("intent",R(e,r));return n.toString()}function g(...t){}function E(t,e,r,n,i,s,p){g({priceId:e,productId:r,discountCode:n,loginUrl:i,pricingUrl:s,successUrl:p});let o=new URL("/auth/checkout",t);if(o.searchParams.set("priceId",e),o.searchParams.set("productId",r),n)o.searchParams.set("discountCode",n);if(i)o.searchParams.set("loginUrl",i);if(s)o.searchParams.set("pricingUrl",s);if(p)o.searchParams.set("successUrl",p);return o.toString()}function R(t,e){return JSON.stringify({type:"redirect",redirectUrl:t,appName:e})}function G(t,e){if(!t)return!1;return t.products.transactions.some((r)=>{r.productId===e&&r.status})}function H(t,e){if(!t)return!1;return t.products.subscriptions.some((r)=>{r.productId===e&&r.status})}import{formatPrice as _}from"@us-accounts/utils";export{T as makeUsBetterAuthClient,R as makeRedirectIntent,k as makePublicClient,w as makeMailingListClient,z as makeLoginUrl,E as makeCheckoutUrl,M as makeCheckoutClient,A as makeAppClient,H as hasUserSubscribed,G as hasUserPurchased,_ as formatPrice};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=10219B7A43FFF4DC64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/clients/publicClient.ts", "../../src/clients/appClient.ts", "../../src/clients/authClient.ts", "../../src/clients/checkoutClient.ts", "../../src/clients/mailingListClient.ts", "../../src/utils/intent.ts"],
|
|
3
|
+
"sources": ["../../src/clients/publicClient.ts", "../../src/clients/appClient.ts", "../../src/clients/authClient.ts", "../../src/clients/checkoutClient.ts", "../../src/clients/mailingListClient.ts", "../../src/utils/intent.ts", "../../src/utils/purchase.ts", "../../src/utils/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type { PublicRouter } from \"@us-accounts/api\";\nimport { hc, type ClientRequestOptions } from \"hono/client\";\n\nexport type PublicClient = ReturnType<typeof hc<PublicRouter>>;\n\nexport const makePublicClient = (\n baseURL: string,\n options?: ClientRequestOptions,\n): PublicClient => {\n return hc<PublicRouter>(baseURL, options);\n};\n",
|
|
6
6
|
"import type { AppRouter } from \"@us-accounts/api\";\nimport { hc, type ClientRequestOptions } from \"hono/client\";\n\nexport type AppClient = ReturnType<typeof hc<AppRouter>>;\n\nexport const makeAppClient = (\n baseURL: string,\n options?: ClientRequestOptions,\n): AppClient => {\n return hc<AppRouter>(baseURL, {\n ...options,\n fetch: (url: any, init: any) =>\n (options?.fetch ?? fetch)(url, {\n ...init,\n credentials: \"include\",\n headers: {\n ...init.headers,\n \"Content-Type\": \"application/json\",\n },\n }),\n });\n};\n",
|
|
7
|
-
"import {\n customSessionClient,\n magicLinkClient,\n emailOTPClient,\n passkeyClient,\n} from \"better-auth/client/plugins\";\nimport { createAuthClient } from \"better-auth/react\";\nimport type { Auth } from \"@us-accounts/api\";\n\nexport const makeUsBetterAuthClient = (baseURL: string) => {\n return createAuthClient({\n baseURL,\n plugins: [\n customSessionClient<Auth>(),\n magicLinkClient(),\n emailOTPClient(),\n passkeyClient(),\n ],\n });\n};\n",
|
|
7
|
+
"import {\n customSessionClient,\n magicLinkClient,\n emailOTPClient,\n passkeyClient,\n} from \"better-auth/client/plugins\";\nimport { createAuthClient } from \"better-auth/react\";\nimport type { Auth } from \"@us-accounts/api\";\n\nexport const makeUsBetterAuthClient = (baseURL: string) => {\n return createAuthClient({\n baseURL,\n plugins: [\n customSessionClient<Auth>(),\n magicLinkClient(),\n emailOTPClient(),\n passkeyClient(),\n ],\n });\n};\n\nexport type AuthClient = ReturnType<typeof makeUsBetterAuthClient>;\n",
|
|
8
8
|
"import type { CheckoutRouter } from \"@us-accounts/api\";\nimport { hc, type ClientRequestOptions } from \"hono/client\";\n\nexport type CheckoutClient = ReturnType<typeof hc<CheckoutRouter>>;\n\nexport const makeCheckoutClient = (\n baseURL: string,\n options?: ClientRequestOptions,\n): CheckoutClient => {\n return hc<CheckoutRouter>(baseURL, {\n ...options,\n fetch: (url: any, init: any) =>\n (options?.fetch ?? fetch)(url, {\n ...init,\n credentials: \"include\",\n headers: {\n ...init.headers,\n \"Content-Type\": \"application/json\",\n },\n }),\n });\n};\n",
|
|
9
9
|
"import type { MailingListRouter } from \"@us-accounts/api\";\nimport { hc, type ClientRequestOptions } from \"hono/client\";\n\nexport type MailingListClient = ReturnType<typeof hc<MailingListRouter>>;\n\nexport const makeMailingListClient = (\n baseURL: string,\n publicKey: string,\n options?: ClientRequestOptions,\n): MailingListClient => {\n return hc<MailingListRouter>(baseURL, {\n ...options,\n headers: {\n ...options?.headers,\n \"X-Public-Key\": publicKey,\n },\n });\n};\n",
|
|
10
|
-
"import type { CheckoutSearch, RedirectIntent } from \"@us-accounts/utils\";\n\nexport function makeLoginUrl(\n apiUrl: string,\n redirectUrl?: string,\n appName?: string,\n) {\n const url = new URL(\"/login\", apiUrl);\n if (redirectUrl) {\n url.searchParams.set(\"intent\", makeRedirectIntent(redirectUrl, appName));\n }\n return url.toString();\n}\n\nfunction noop(...args: any[]) {\n // Do nothing\n}\n\nexport function makeCheckoutUrl(\n apiUrl: string,\n priceId: string,\n productId: string,\n discountCode?: string,\n loginUrl?: string,\n pricingUrl?: string,\n successUrl?: string,\n) {\n const obj = {\n priceId,\n productId,\n discountCode,\n loginUrl,\n pricingUrl,\n successUrl,\n } satisfies CheckoutSearch;\n noop(obj);\n\n const url = new URL(\"/auth/checkout\", apiUrl);\n url.searchParams.set(\"priceId\", priceId);\n url.searchParams.set(\"productId\", productId);\n if (discountCode) {\n url.searchParams.set(\"discountCode\", discountCode);\n }\n if (loginUrl) {\n url.searchParams.set(\"loginUrl\", loginUrl);\n }\n if (pricingUrl) {\n url.searchParams.set(\"pricingUrl\", pricingUrl);\n }\n if (successUrl) {\n url.searchParams.set(\"successUrl\", successUrl);\n }\n return url.toString();\n}\n\nexport function makeRedirectIntent(\n redirectUrl: string,\n appName?: string,\n): string {\n const obj = {\n type: \"redirect\",\n redirectUrl,\n appName,\n } satisfies RedirectIntent;\n\n return JSON.stringify(obj);\n}\n"
|
|
10
|
+
"import type { CheckoutSearch, RedirectIntent } from \"@us-accounts/utils\";\n\nexport function makeLoginUrl(\n apiUrl: string,\n redirectUrl?: string,\n appName?: string,\n) {\n const url = new URL(\"/login\", apiUrl);\n if (redirectUrl) {\n url.searchParams.set(\"intent\", makeRedirectIntent(redirectUrl, appName));\n }\n return url.toString();\n}\n\nfunction noop(...args: any[]) {\n // Do nothing\n}\n\nexport function makeCheckoutUrl(\n apiUrl: string,\n priceId: string,\n productId: string,\n discountCode?: string,\n loginUrl?: string,\n pricingUrl?: string,\n successUrl?: string,\n) {\n const obj = {\n priceId,\n productId,\n discountCode,\n loginUrl,\n pricingUrl,\n successUrl,\n } satisfies CheckoutSearch;\n noop(obj);\n\n const url = new URL(\"/auth/checkout\", apiUrl);\n url.searchParams.set(\"priceId\", priceId);\n url.searchParams.set(\"productId\", productId);\n if (discountCode) {\n url.searchParams.set(\"discountCode\", discountCode);\n }\n if (loginUrl) {\n url.searchParams.set(\"loginUrl\", loginUrl);\n }\n if (pricingUrl) {\n url.searchParams.set(\"pricingUrl\", pricingUrl);\n }\n if (successUrl) {\n url.searchParams.set(\"successUrl\", successUrl);\n }\n return url.toString();\n}\n\nexport function makeRedirectIntent(\n redirectUrl: string,\n appName?: string,\n): string {\n const obj = {\n type: \"redirect\",\n redirectUrl,\n appName,\n } satisfies RedirectIntent;\n\n return JSON.stringify(obj);\n}\n",
|
|
11
|
+
"import type { AuthClient } from \"../clients/authClient\";\n\nexport type SessionData = ReturnType<AuthClient[\"useSession\"]>[\"data\"];\n\nexport function hasUserPurchased(\n sessionData: SessionData,\n productId: string,\n): boolean {\n if (!sessionData) return false;\n return sessionData.products.transactions.some((transaction) => {\n transaction.productId === productId && transaction.status === \"completed\";\n });\n}\n\nexport function hasUserSubscribed(\n sessionData: SessionData,\n productId: string,\n): boolean {\n if (!sessionData) return false;\n return sessionData.products.subscriptions.some((subscription) => {\n subscription.productId === productId && subscription.status === \"active\";\n });\n}\n",
|
|
12
|
+
"export * from \"./intent\";\nexport * from \"./purchase\";\nexport { formatPrice } from \"@us-accounts/utils\";\n"
|
|
11
13
|
],
|
|
12
|
-
"mappings": "AACA,aAAS,oBAIF,IAAM,EAAmB,CAC9B,EACA,IACiB,CACjB,OAAO,EAAiB,EAAS,CAAO,GCR1C,aAAS,oBAIF,IAAM,EAAgB,CAC3B,EACA,IACc,CACd,OAAO,EAAc,EAAS,IACzB,EACH,MAAO,CAAC,EAAU,KACf,GAAS,OAAS,OAAO,EAAK,IAC1B,EACH,YAAa,UACb,QAAS,IACJ,EAAK,QACR,eAAgB,kBAClB,CACF,CAAC,CACL,CAAC,GCpBH,8BACE,qBACA,oBACA,mBACA,mCAEF,2BAAS,0BAGF,IAAM,EAAyB,CAAC,IAAoB,CACzD,OAAO,EAAiB,CACtB,UACA,QAAS,CACP,EAA0B,EAC1B,EAAgB,EAChB,EAAe,EACf,EAAc,CAChB,CACF,CAAC,GCjBH,aAAS,oBAIF,IAAM,EAAqB,CAChC,EACA,IACmB,CACnB,OAAO,EAAmB,EAAS,IAC9B,EACH,MAAO,CAAC,EAAU,KACf,GAAS,OAAS,OAAO,EAAK,IAC1B,EACH,YAAa,UACb,QAAS,IACJ,EAAK,QACR,eAAgB,kBAClB,CACF,CAAC,CACL,CAAC,GCnBH,aAAS,oBAIF,IAAM,EAAwB,CACnC,EACA,EACA,IACsB,CACtB,OAAO,EAAsB,EAAS,IACjC,EACH,QAAS,IACJ,GAAS,QACZ,eAAgB,CAClB,CACF,CAAC,GCdI,SAAS,CAAY,CAC1B,EACA,EACA,EACA,CACA,IAAM,EAAM,IAAI,IAAI,SAAU,CAAM,EACpC,GAAI,EACF,EAAI,aAAa,IAAI,SAAU,EAAmB,EAAa,CAAO,CAAC,EAEzE,OAAO,EAAI,SAAS,EAGtB,SAAS,CAAI,IAAI,EAAa,EAIvB,SAAS,CAAe,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CASA,EARY,CACV,UACA,YACA,eACA,WACA,aACA,YACF,CACQ,EAER,IAAM,EAAM,IAAI,IAAI,iBAAkB,CAAM,EAG5C,GAFA,EAAI,aAAa,IAAI,UAAW,CAAO,EACvC,EAAI,aAAa,IAAI,YAAa,CAAS,EACvC,EACF,EAAI,aAAa,IAAI,eAAgB,CAAY,EAEnD,GAAI,EACF,EAAI,aAAa,IAAI,WAAY,CAAQ,EAE3C,GAAI,EACF,EAAI,aAAa,IAAI,aAAc,CAAU,EAE/C,GAAI,EACF,EAAI,aAAa,IAAI,aAAc,CAAU,EAE/C,OAAO,EAAI,SAAS,EAGf,SAAS,CAAkB,CAChC,EACA,EACQ,CAOR,OAAO,KAAK,UANA,CACV,KAAM,WACN,cACA,SACF,CAEyB",
|
|
13
|
-
"debugId": "
|
|
14
|
+
"mappings": "AACA,aAAS,oBAIF,IAAM,EAAmB,CAC9B,EACA,IACiB,CACjB,OAAO,EAAiB,EAAS,CAAO,GCR1C,aAAS,oBAIF,IAAM,EAAgB,CAC3B,EACA,IACc,CACd,OAAO,EAAc,EAAS,IACzB,EACH,MAAO,CAAC,EAAU,KACf,GAAS,OAAS,OAAO,EAAK,IAC1B,EACH,YAAa,UACb,QAAS,IACJ,EAAK,QACR,eAAgB,kBAClB,CACF,CAAC,CACL,CAAC,GCpBH,8BACE,qBACA,oBACA,mBACA,mCAEF,2BAAS,0BAGF,IAAM,EAAyB,CAAC,IAAoB,CACzD,OAAO,EAAiB,CACtB,UACA,QAAS,CACP,EAA0B,EAC1B,EAAgB,EAChB,EAAe,EACf,EAAc,CAChB,CACF,CAAC,GCjBH,aAAS,oBAIF,IAAM,EAAqB,CAChC,EACA,IACmB,CACnB,OAAO,EAAmB,EAAS,IAC9B,EACH,MAAO,CAAC,EAAU,KACf,GAAS,OAAS,OAAO,EAAK,IAC1B,EACH,YAAa,UACb,QAAS,IACJ,EAAK,QACR,eAAgB,kBAClB,CACF,CAAC,CACL,CAAC,GCnBH,aAAS,oBAIF,IAAM,EAAwB,CACnC,EACA,EACA,IACsB,CACtB,OAAO,EAAsB,EAAS,IACjC,EACH,QAAS,IACJ,GAAS,QACZ,eAAgB,CAClB,CACF,CAAC,GCdI,SAAS,CAAY,CAC1B,EACA,EACA,EACA,CACA,IAAM,EAAM,IAAI,IAAI,SAAU,CAAM,EACpC,GAAI,EACF,EAAI,aAAa,IAAI,SAAU,EAAmB,EAAa,CAAO,CAAC,EAEzE,OAAO,EAAI,SAAS,EAGtB,SAAS,CAAI,IAAI,EAAa,EAIvB,SAAS,CAAe,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CASA,EARY,CACV,UACA,YACA,eACA,WACA,aACA,YACF,CACQ,EAER,IAAM,EAAM,IAAI,IAAI,iBAAkB,CAAM,EAG5C,GAFA,EAAI,aAAa,IAAI,UAAW,CAAO,EACvC,EAAI,aAAa,IAAI,YAAa,CAAS,EACvC,EACF,EAAI,aAAa,IAAI,eAAgB,CAAY,EAEnD,GAAI,EACF,EAAI,aAAa,IAAI,WAAY,CAAQ,EAE3C,GAAI,EACF,EAAI,aAAa,IAAI,aAAc,CAAU,EAE/C,GAAI,EACF,EAAI,aAAa,IAAI,aAAc,CAAU,EAE/C,OAAO,EAAI,SAAS,EAGf,SAAS,CAAkB,CAChC,EACA,EACQ,CAOR,OAAO,KAAK,UANA,CACV,KAAM,WACN,cACA,SACF,CAEyB,EC7DpB,SAAS,CAAgB,CAC9B,EACA,EACS,CACT,GAAI,CAAC,EAAa,MAAO,GACzB,OAAO,EAAY,SAAS,aAAa,KAAK,CAAC,IAAgB,CAC7D,EAAY,YAAc,GAAa,EAAY,OACpD,EAGI,SAAS,CAAiB,CAC/B,EACA,EACS,CACT,GAAI,CAAC,EAAa,MAAO,GACzB,OAAO,EAAY,SAAS,cAAc,KAAK,CAAC,IAAiB,CAC/D,EAAa,YAAc,GAAa,EAAa,OACtD,ECnBH,sBAAS",
|
|
15
|
+
"debugId": "10219B7A43FFF4DC64756E2164756E21",
|
|
14
16
|
"names": []
|
|
15
17
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -94,7 +94,7 @@ declare const appRouter: hono_hono_base.HonoBase<{
|
|
|
94
94
|
input: {
|
|
95
95
|
param: {
|
|
96
96
|
subscriptionId: string;
|
|
97
|
-
action: "
|
|
97
|
+
action: "update" | "cancel";
|
|
98
98
|
};
|
|
99
99
|
};
|
|
100
100
|
output: undefined;
|
|
@@ -3537,6 +3537,7 @@ declare const makeUsBetterAuthClient: (baseURL: string) => {
|
|
|
3537
3537
|
USER_ALREADY_HAS_PASSWORD: string;
|
|
3538
3538
|
};
|
|
3539
3539
|
};
|
|
3540
|
+
type AuthClient = ReturnType<typeof makeUsBetterAuthClient>;
|
|
3540
3541
|
|
|
3541
3542
|
type CheckoutClient = ReturnType<typeof hc<CheckoutRouter>>;
|
|
3542
3543
|
declare const makeCheckoutClient: (baseURL: string, options?: ClientRequestOptions) => CheckoutClient;
|
|
@@ -3548,5 +3549,11 @@ declare function makeLoginUrl(apiUrl: string, redirectUrl?: string, appName?: st
|
|
|
3548
3549
|
declare function makeCheckoutUrl(apiUrl: string, priceId: string, productId: string, discountCode?: string, loginUrl?: string, pricingUrl?: string, successUrl?: string): string;
|
|
3549
3550
|
declare function makeRedirectIntent(redirectUrl: string, appName?: string): string;
|
|
3550
3551
|
|
|
3551
|
-
|
|
3552
|
-
|
|
3552
|
+
type SessionData = ReturnType<AuthClient["useSession"]>["data"];
|
|
3553
|
+
declare function hasUserPurchased(sessionData: SessionData, productId: string): boolean;
|
|
3554
|
+
declare function hasUserSubscribed(sessionData: SessionData, productId: string): boolean;
|
|
3555
|
+
|
|
3556
|
+
declare function formatPrice(amountStr: string, currencyCode: string): string | null;
|
|
3557
|
+
|
|
3558
|
+
export { formatPrice, hasUserPurchased, hasUserSubscribed, makeAppClient, makeCheckoutClient, makeCheckoutUrl, makeLoginUrl, makeMailingListClient, makePublicClient, makeRedirectIntent, makeUsBetterAuthClient };
|
|
3559
|
+
export type { AppClient, AuthClient, CheckoutClient, MailingListClient, PublicClient, SessionData };
|