autumn-js 0.0.66 → 0.0.72
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/components.json +21 -0
- package/dist/libraries/backend/{chunk-NDN25XDG.mjs → chunk-2JZFMBVR.mjs} +1 -1
- package/dist/libraries/backend/chunk-45WVZY23.mjs +41 -0
- package/dist/libraries/backend/{chunk-NDS3EHT3.mjs → chunk-GUZSIYGF.mjs} +1 -1
- package/dist/libraries/backend/{chunk-W63TY2DI.mjs → chunk-J7UA442M.mjs} +70 -59
- package/dist/libraries/backend/chunk-PBBWXVWW.mjs +28 -0
- package/dist/libraries/backend/{chunk-FRL4IWBU.mjs → chunk-T4YSUMNB.mjs} +9 -5
- package/dist/libraries/backend/chunk-UNZHJTEY.mjs +18 -0
- package/dist/libraries/backend/{chunk-QXJ7YDTB.mjs → chunk-Y2VYFWJD.mjs} +1 -1
- package/dist/libraries/backend/{chunk-C2YFOJYP.mjs → chunk-ZF4V3SVZ.mjs} +13 -8
- package/dist/libraries/backend/express.d.mts +3 -2
- package/dist/libraries/backend/express.d.ts +3 -2
- package/dist/libraries/backend/express.js +168 -78
- package/dist/libraries/backend/express.mjs +15 -6
- package/dist/libraries/backend/fastify.js +149 -78
- package/dist/libraries/backend/fastify.mjs +8 -6
- package/dist/libraries/backend/hono.js +149 -78
- package/dist/libraries/backend/hono.mjs +8 -6
- package/dist/libraries/backend/next.js +259 -176
- package/dist/libraries/backend/next.mjs +116 -104
- package/dist/libraries/backend/react-router.js +149 -78
- package/dist/libraries/backend/react-router.mjs +8 -6
- package/dist/libraries/backend/{referralTypes-p6A_PZbz.d.ts → referralTypes-C-jpvu6u.d.mts} +63 -31
- package/dist/libraries/backend/{referralTypes-BdY-EkkQ.d.mts → referralTypes-qdpA4XBw.d.ts} +63 -31
- package/dist/libraries/backend/remix_dep.js +149 -78
- package/dist/libraries/backend/remix_dep.mjs +8 -6
- package/dist/libraries/backend/{response-ByHPEnHs.d.mts → response-CV6KGWH5.d.mts} +1 -0
- package/dist/libraries/backend/{response-ByHPEnHs.d.ts → response-CV6KGWH5.d.ts} +1 -0
- package/dist/libraries/backend/routes/backendRouter.js +147 -75
- package/dist/libraries/backend/routes/backendRouter.mjs +8 -6
- package/dist/libraries/backend/routes/entityRoutes.js +123 -66
- package/dist/libraries/backend/routes/entityRoutes.mjs +5 -3
- package/dist/libraries/backend/routes/genRoutes.js +124 -71
- package/dist/libraries/backend/routes/genRoutes.mjs +4 -3
- package/dist/libraries/backend/routes/productRoutes.d.mts +5 -0
- package/dist/libraries/backend/routes/productRoutes.d.ts +5 -0
- package/dist/libraries/{react/hooks/useEntityProvider.js → backend/routes/productRoutes.js} +210 -96
- package/dist/libraries/backend/routes/productRoutes.mjs +11 -0
- package/dist/libraries/backend/routes/referralRoutes.js +124 -69
- package/dist/libraries/backend/routes/referralRoutes.mjs +4 -3
- package/dist/libraries/backend/supabase.js +149 -78
- package/dist/libraries/backend/supabase.mjs +8 -6
- package/dist/libraries/backend/tanstack.js +152 -79
- package/dist/libraries/backend/tanstack.mjs +11 -9
- package/dist/libraries/backend/utils/backendRes.d.mts +1 -1
- package/dist/libraries/backend/utils/backendRes.d.ts +1 -1
- package/dist/libraries/backend/utils/backendRes.js +114 -59
- package/dist/libraries/backend/utils/backendRes.mjs +3 -1
- package/dist/libraries/backend/utils/logBackendErrors.d.mts +5 -0
- package/dist/libraries/backend/utils/logBackendErrors.d.ts +5 -0
- package/dist/libraries/backend/utils/logBackendErrors.js +84 -0
- package/dist/libraries/backend/utils/logBackendErrors.mjs +14 -0
- package/dist/libraries/backend/utils/secretKeyCheck.d.mts +13 -0
- package/dist/libraries/backend/utils/secretKeyCheck.d.ts +13 -0
- package/dist/libraries/backend/utils/secretKeyCheck.js +42 -0
- package/dist/libraries/backend/utils/secretKeyCheck.mjs +7 -0
- package/dist/libraries/backend/utils/withAuth.d.mts +3 -3
- package/dist/libraries/backend/utils/withAuth.d.ts +3 -3
- package/dist/libraries/backend/utils/withAuth.js +123 -66
- package/dist/libraries/backend/utils/withAuth.mjs +4 -2
- package/dist/libraries/react/AutumnContext.d.mts +15 -18
- package/dist/libraries/react/AutumnContext.d.ts +15 -18
- package/dist/libraries/react/AutumnContext.js +189 -101
- package/dist/libraries/react/AutumnContext.mjs +6 -4
- package/dist/libraries/react/BaseAutumnProvider.d.mts +11 -7
- package/dist/libraries/react/BaseAutumnProvider.d.ts +11 -7
- package/dist/libraries/react/BaseAutumnProvider.js +594 -263
- package/dist/libraries/react/BaseAutumnProvider.mjs +12 -8
- package/dist/libraries/react/{ReactAutumnClient-BQtmw21U.d.mts → ReactAutumnClient-4e3t4WTF.d.mts} +40 -25
- package/dist/libraries/react/{ReactAutumnClient-DNcV0gAT.d.ts → ReactAutumnClient-B-lWmwRW.d.ts} +40 -25
- package/dist/libraries/react/ReactAutumnProvider.d.mts +4 -3
- package/dist/libraries/react/ReactAutumnProvider.d.ts +4 -3
- package/dist/libraries/react/ReactAutumnProvider.js +610 -266
- package/dist/libraries/react/ReactAutumnProvider.mjs +12 -9
- package/dist/libraries/react/{response-B1KyqUB9.d.ts → checkTypes-BDNI_s2B.d.ts} +42 -55
- package/dist/libraries/react/{response-B5dHU3I9.d.mts → checkTypes-CyKIOmeF.d.mts} +42 -55
- package/dist/libraries/react/chunk-2XYYCR4J.mjs +276 -0
- package/dist/libraries/react/chunk-4CGZZYLG.mjs +2487 -0
- package/dist/libraries/react/chunk-4PX3AQKX.mjs +53 -0
- package/dist/libraries/react/chunk-7PRD7RPD.mjs +20 -0
- package/dist/libraries/react/chunk-B7HGBQCO.mjs +48 -0
- package/dist/libraries/react/chunk-BCMBFJ7E.mjs +125 -0
- package/dist/libraries/react/{chunk-STABYMUY.mjs → chunk-CE5BBB5H.mjs} +58 -27
- package/dist/libraries/react/chunk-CIBQ4BJU.mjs +19 -0
- package/dist/libraries/react/{chunk-OCZFV7OX.mjs → chunk-EH2VPTFH.mjs} +104 -56
- package/dist/libraries/react/chunk-FHANCAHB.mjs +17 -0
- package/dist/libraries/react/chunk-GTF7A5TG.mjs +76 -0
- package/dist/libraries/react/chunk-JFXBUWKA.mjs +50 -0
- package/dist/libraries/react/chunk-MY2ODATB.mjs +51 -0
- package/dist/libraries/react/chunk-NEV76K4V.mjs +552 -0
- package/dist/libraries/react/chunk-O4HHXBGR.mjs +101 -0
- package/dist/libraries/react/chunk-Q7CK32YT.mjs +172 -0
- package/dist/libraries/react/chunk-QBBE72EF.mjs +57 -0
- package/dist/libraries/react/{chunk-PW6WFMLB.mjs → chunk-QMIIDFRP.mjs} +10 -37
- package/dist/libraries/react/chunk-TFGQQAVB.mjs +38 -0
- package/dist/{next/client/hooks/useEntityProvider.js → libraries/react/chunk-X3HJKZGO.mjs} +17 -11
- package/dist/libraries/react/chunk-YUV2Y2RW.mjs +12 -0
- package/dist/libraries/react/chunk-ZKHBOCMO.mjs +17 -0
- package/dist/libraries/react/{chunk-O4SNGQNB.mjs → chunk-ZQ6LDLK5.mjs} +67 -65
- package/dist/libraries/react/chunk-ZWO4QYXI.mjs +20 -0
- package/dist/libraries/react/chunk-ZXE5MFKL.mjs +45 -0
- package/dist/libraries/react/client/ReactAutumnClient.d.mts +6 -5
- package/dist/libraries/react/client/ReactAutumnClient.d.ts +6 -5
- package/dist/libraries/react/client/ReactAutumnClient.js +177 -76
- package/dist/libraries/react/client/ReactAutumnClient.mjs +5 -3
- package/dist/libraries/react/client/clientCompMethods.d.mts +6 -5
- package/dist/libraries/react/client/clientCompMethods.d.ts +6 -5
- package/dist/libraries/react/client/clientCusMethods.d.mts +6 -5
- package/dist/libraries/react/client/clientCusMethods.d.ts +6 -5
- package/dist/libraries/react/client/clientEntityMethods.d.mts +6 -5
- package/dist/libraries/react/client/clientEntityMethods.d.ts +6 -5
- package/dist/libraries/react/client/clientGenMethods.d.mts +7 -6
- package/dist/libraries/react/client/clientGenMethods.d.ts +7 -6
- package/dist/libraries/react/client/clientProdMethods.d.mts +15 -0
- package/dist/libraries/react/client/clientProdMethods.d.ts +15 -0
- package/dist/libraries/react/client/clientProdMethods.js +35 -0
- package/dist/libraries/react/client/clientProdMethods.mjs +8 -0
- package/dist/libraries/react/client/clientReferralMethods.d.mts +6 -5
- package/dist/libraries/react/client/clientReferralMethods.d.ts +6 -5
- package/dist/libraries/react/client/types/clientEntTypes.d.mts +1 -1
- package/dist/libraries/react/client/types/clientEntTypes.d.ts +1 -1
- package/dist/libraries/react/client/types/clientGenTypes.d.mts +2 -2
- package/dist/libraries/react/client/types/clientGenTypes.d.ts +2 -2
- package/dist/libraries/react/client/types/clientPricingTableTypes.d.mts +8 -10
- package/dist/libraries/react/client/types/clientPricingTableTypes.d.ts +8 -10
- package/dist/libraries/react/client/types/clientProdTypes.d.mts +5 -0
- package/dist/libraries/react/client/types/clientProdTypes.d.ts +5 -0
- package/dist/libraries/react/client/types/clientProdTypes.js +20 -0
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.mts +52 -0
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.ts +52 -0
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.js +4387 -0
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.mjs +50 -0
- package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.mts +10 -0
- package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.ts +10 -0
- package/dist/libraries/react/components/attach-dialog/lib/attach-content.js +148 -0
- package/dist/libraries/react/components/attach-dialog/lib/attach-content.mjs +8 -0
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.mts +12 -0
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.ts +12 -0
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.js +2895 -0
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.mjs +13 -0
- package/dist/libraries/react/components/check-dialog/lib/check-content.d.mts +9 -0
- package/dist/libraries/react/components/check-dialog/lib/check-content.d.ts +9 -0
- package/dist/libraries/react/components/check-dialog/lib/check-content.js +74 -0
- package/dist/libraries/react/components/check-dialog/lib/check-content.mjs +8 -0
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +7 -0
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +7 -0
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.js +80 -0
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.mjs +8 -0
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +51 -0
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +51 -0
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +4684 -0
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +53 -0
- package/dist/libraries/react/components/ui/button.d.mts +14 -0
- package/dist/libraries/react/components/ui/button.d.ts +14 -0
- package/dist/libraries/react/components/ui/button.js +2601 -0
- package/dist/libraries/react/components/ui/button.mjs +11 -0
- package/dist/libraries/react/components/ui/dialog.d.mts +18 -0
- package/dist/libraries/react/components/ui/dialog.d.ts +18 -0
- package/dist/libraries/react/components/ui/dialog.js +2774 -0
- package/dist/libraries/react/components/ui/dialog.mjs +27 -0
- package/dist/libraries/react/components/ui/switch.d.mts +7 -0
- package/dist/libraries/react/components/ui/switch.d.ts +7 -0
- package/dist/libraries/react/components/ui/switch.js +2550 -0
- package/dist/libraries/react/components/ui/switch.mjs +9 -0
- package/dist/libraries/react/{cusTypes-Cf-s9PYP.d.ts → cusTypes-DNx5bwlw.d.mts} +13 -5
- package/dist/libraries/react/{cusTypes-Cf-s9PYP.d.mts → cusTypes-DNx5bwlw.d.ts} +13 -5
- package/dist/libraries/react/{entTypes-CV-165S-.d.mts → entTypes-8gkfAi3g.d.mts} +1 -1
- package/dist/libraries/react/{entTypes-BbIk0Toa.d.ts → entTypes-C8jD10M8.d.ts} +1 -1
- package/dist/libraries/react/{error-CG2LXoa7.d.mts → error-DHbclCVh.d.mts} +1 -0
- package/dist/libraries/react/{error-CG2LXoa7.d.ts → error-DHbclCVh.d.ts} +1 -0
- package/dist/libraries/react/errorUtils/logAuthError.d.mts +8 -0
- package/dist/libraries/react/errorUtils/logAuthError.d.ts +8 -0
- package/dist/libraries/react/{hooks/usePricingTableProvider.js → errorUtils/logAuthError.js} +129 -97
- package/dist/libraries/react/errorUtils/logAuthError.mjs +21 -0
- package/dist/libraries/react/errorUtils/logFetchError.d.mts +8 -0
- package/dist/libraries/react/errorUtils/logFetchError.d.ts +8 -0
- package/dist/libraries/react/errorUtils/logFetchError.js +42 -0
- package/dist/libraries/react/errorUtils/logFetchError.mjs +8 -0
- package/dist/libraries/react/hooks/handleAllowed.d.mts +14 -0
- package/dist/libraries/react/hooks/handleAllowed.d.ts +14 -0
- package/dist/libraries/react/hooks/handleAllowed.js +73 -0
- package/dist/libraries/react/hooks/handleAllowed.mjs +8 -0
- package/dist/libraries/react/hooks/useAutumn.d.mts +12 -40
- package/dist/libraries/react/hooks/useAutumn.d.ts +12 -40
- package/dist/libraries/react/hooks/useAutumn.js +416 -166
- package/dist/libraries/react/hooks/useAutumn.mjs +9 -5
- package/dist/libraries/react/hooks/useAutumnBase.d.mts +23 -0
- package/dist/libraries/react/hooks/useAutumnBase.d.ts +23 -0
- package/dist/libraries/react/hooks/useAutumnBase.js +1063 -0
- package/dist/libraries/react/hooks/useAutumnBase.mjs +20 -0
- package/dist/libraries/react/hooks/useCustomer.d.mts +11 -17
- package/dist/libraries/react/hooks/useCustomer.d.ts +11 -17
- package/dist/libraries/react/hooks/useCustomer.js +594 -120
- package/dist/libraries/react/hooks/useCustomer.mjs +11 -5
- package/dist/libraries/react/hooks/useCustomerBase.d.mts +38 -0
- package/dist/libraries/react/hooks/useCustomerBase.d.ts +38 -0
- package/dist/libraries/react/hooks/useCustomerBase.js +1168 -0
- package/dist/libraries/react/hooks/useCustomerBase.mjs +22 -0
- package/dist/libraries/react/hooks/useEntity.d.mts +14 -6
- package/dist/libraries/react/hooks/useEntity.d.ts +14 -6
- package/dist/libraries/react/hooks/useEntity.js +272 -142
- package/dist/libraries/react/hooks/useEntity.mjs +9 -6
- package/dist/libraries/react/hooks/useEntityBase.d.mts +33 -0
- package/dist/libraries/react/hooks/useEntityBase.d.ts +33 -0
- package/dist/libraries/react/hooks/useEntityBase.js +134 -0
- package/dist/libraries/react/hooks/useEntityBase.mjs +9 -0
- package/dist/libraries/react/hooks/usePricingTable.d.mts +10 -13
- package/dist/libraries/react/hooks/usePricingTable.d.ts +10 -13
- package/dist/libraries/react/hooks/usePricingTable.js +339 -125
- package/dist/libraries/react/hooks/usePricingTable.mjs +8 -5
- package/dist/libraries/react/hooks/usePricingTableBase.d.mts +27 -0
- package/dist/libraries/react/hooks/usePricingTableBase.d.ts +27 -0
- package/dist/libraries/react/hooks/usePricingTableBase.js +926 -0
- package/dist/libraries/react/hooks/usePricingTableBase.mjs +19 -0
- package/dist/libraries/react/hooks/useProductsBase.d.mts +3 -0
- package/dist/libraries/react/hooks/useProductsBase.d.ts +3 -0
- package/dist/libraries/react/hooks/useProductsBase.js +776 -0
- package/dist/libraries/react/hooks/useProductsBase.mjs +29 -0
- package/dist/libraries/react/index.d.ts +485 -16
- package/dist/libraries/react/index.js +4201 -493
- package/dist/libraries/react/index.mjs +4869 -30
- package/dist/libraries/react/lib/utils.d.mts +5 -0
- package/dist/libraries/react/lib/utils.d.ts +5 -0
- package/dist/libraries/react/lib/utils.js +2511 -0
- package/dist/libraries/react/lib/utils.mjs +8 -0
- package/dist/libraries/react/response-9K8DyGXf.d.ts +40 -0
- package/dist/libraries/react/response-ChCmaLBk.d.mts +40 -0
- package/dist/libraries/react/utils/compareParams.mjs +18 -3
- package/dist/next/AutumnProvider-BdIwgk_j.d.mts +136 -0
- package/dist/next/AutumnProvider-BdIwgk_j.d.ts +136 -0
- package/dist/next/AutumnProvider.d.mts +2 -0
- package/dist/next/AutumnProvider.d.ts +2 -0
- package/dist/next/AutumnProvider.js +2 -2
- package/dist/next/AutumnProvider.mjs +2 -2
- package/dist/next/client/AutumnClientProvider.d.mts +2 -0
- package/dist/next/client/AutumnClientProvider.d.ts +2 -0
- package/dist/next/client/AutumnClientProvider.mjs +2 -0
- package/dist/next/client/NextAutumnClient.d.mts +102 -0
- package/dist/next/client/NextAutumnClient.d.ts +102 -0
- package/dist/next/client/NextAutumnClient.js +95 -0
- package/dist/next/client/NextAutumnClient.mjs +95 -0
- package/dist/next/client/NextAutumnProvider.d.mts +10 -0
- package/dist/next/client/NextAutumnProvider.d.ts +10 -0
- package/dist/next/client/NextAutumnProvider.js +21 -0
- package/dist/next/client/NextAutumnProvider.mjs +21 -0
- package/dist/next/client/checkTypes-BHxu_xEV.d.ts +126 -0
- package/dist/next/client/checkTypes-CEaWu4S3.d.mts +126 -0
- package/dist/next/client/clientGenTypes-BRfigzSY.d.mts +98 -0
- package/dist/next/client/clientGenTypes-i3cKamAv.d.ts +98 -0
- package/dist/{sdk/referrals.d.ts → next/client/clientReferralTypes-C9JiOk2s.d.mts} +8 -9
- package/dist/{sdk/referrals.d.mts → next/client/clientReferralTypes-C9JiOk2s.d.ts} +8 -9
- package/dist/next/client/clientUtils.d.mts +2 -2
- package/dist/next/client/clientUtils.d.ts +2 -2
- package/dist/next/client/cusTypes-CV5q3GIA.d.mts +116 -0
- package/dist/next/client/cusTypes-CV5q3GIA.d.ts +116 -0
- package/dist/next/client/{entTypes-C9TNWMk6.d.mts → entTypes-C1-bumir.d.mts} +5 -2
- package/dist/next/client/{entTypes-BDqnMLZ4.d.ts → entTypes-CKc2qHBt.d.ts} +5 -2
- package/dist/next/client/handleAllowed-B8TBAzfI.d.mts +7 -0
- package/dist/next/client/handleAllowed-B8TBAzfI.d.ts +7 -0
- package/dist/next/client/hooks/useAutumn.d.mts +8 -33
- package/dist/next/client/hooks/useAutumn.d.ts +8 -33
- package/dist/next/client/hooks/useAutumn.js +3 -236
- package/dist/next/client/hooks/useAutumn.mjs +3 -236
- package/dist/next/client/hooks/useCustomer.d.mts +26 -20
- package/dist/next/client/hooks/useCustomer.d.ts +26 -20
- package/dist/next/client/hooks/useCustomer.js +6 -120
- package/dist/next/client/hooks/useCustomer.mjs +6 -120
- package/dist/next/client/hooks/useEntity.d.mts +13 -5
- package/dist/next/client/hooks/useEntity.d.ts +13 -5
- package/dist/next/client/hooks/useEntity.js +3 -2
- package/dist/next/client/hooks/useEntity.mjs +3 -2
- package/dist/next/client/hooks/usePricingTable.d.mts +26 -13
- package/dist/next/client/hooks/usePricingTable.d.ts +26 -13
- package/dist/next/client/hooks/usePricingTable.js +4 -50
- package/dist/next/client/hooks/usePricingTable.mjs +4 -50
- package/dist/next/client/types.d.mts +12 -3
- package/dist/next/client/types.d.ts +12 -3
- package/dist/next/enums.d.mts +5 -0
- package/dist/next/enums.d.ts +5 -0
- package/dist/next/index.d.mts +372 -233
- package/dist/next/index.d.ts +372 -233
- package/dist/next/index.js +13 -8
- package/dist/next/index.mjs +6 -4
- package/dist/next/server/auth/handleAuthProvider.d.mts +2 -2
- package/dist/next/server/auth/handleAuthProvider.d.ts +2 -2
- package/dist/next/server/auth/supabase-wrapper.d.mts +1 -3
- package/dist/next/server/auth/supabase-wrapper.d.ts +1 -3
- package/dist/next/server/auth/{withAuth.d.mts → withNextAuth.d.mts} +1 -1
- package/dist/next/server/auth/{withAuth.d.ts → withNextAuth.d.ts} +1 -1
- package/dist/next/server/clientEntTypes-BOVTwIKv.d.mts +14 -0
- package/dist/next/server/clientEntTypes-BOVTwIKv.d.ts +14 -0
- package/dist/next/server/componentActions.d.mts +1 -1
- package/dist/next/server/componentActions.d.ts +1 -1
- package/dist/next/server/componentActions.js +1 -1
- package/dist/next/server/componentActions.mjs +1 -1
- package/dist/next/server/cusActions.d.mts +243 -16
- package/dist/next/server/cusActions.d.ts +243 -16
- package/dist/next/server/cusActions.js +12 -22
- package/dist/next/server/cusActions.mjs +12 -22
- package/dist/next/server/{cusTypes-BD42O-7Z.d.mts → cusTypes-Cc8NWXXF.d.mts} +12 -8
- package/dist/next/server/{cusTypes-BD42O-7Z.d.ts → cusTypes-Cc8NWXXF.d.ts} +12 -8
- package/dist/next/server/genActions.d.mts +41 -26
- package/dist/next/server/genActions.d.ts +41 -26
- package/dist/next/server/genActions.js +14 -62
- package/dist/next/server/genActions.mjs +14 -62
- package/dist/next/server/{response-BCg7kiiN.d.mts → response-eH4S4sg0.d.mts} +1 -0
- package/dist/next/server/{response-BCg7kiiN.d.ts → response-eH4S4sg0.d.ts} +1 -0
- package/dist/next/server/utils.d.mts +1 -1
- package/dist/next/server/utils.d.ts +1 -1
- package/dist/sdk/index.d.mts +406 -27
- package/dist/sdk/index.d.ts +406 -27
- package/dist/sdk/index.js +107 -72
- package/dist/sdk/index.mjs +103 -72
- package/dist/styles/global.css +1147 -0
- package/dist/utils/chunk-V7R5DCYR.mjs +41 -0
- package/dist/utils/encryptUtils.js +104 -56
- package/dist/utils/encryptUtils.mjs +70 -56
- package/dist/utils/logger.d.mts +45 -0
- package/dist/utils/logger.d.ts +45 -0
- package/dist/utils/logger.js +75 -0
- package/dist/utils/logger.mjs +6 -0
- package/dist/utils/toSnakeCase.d.mts +3 -0
- package/dist/utils/toSnakeCase.d.ts +3 -0
- package/dist/utils/toSnakeCase.js +45 -0
- package/dist/utils/toSnakeCase.mjs +20 -0
- package/package.json +25 -7
- package/postcss.config.js +7 -0
- package/scripts/sync-registry.ts +292 -0
- package/tailwind.config.js +57 -0
- package/tsup.config.ts +87 -29
- package/tsup.dev.config.ts +196 -0
- package/dist/libraries/react/chunk-5LNSASJV.mjs +0 -33
- package/dist/libraries/react/chunk-CZA5WF64.mjs +0 -51
- package/dist/libraries/react/chunk-ILWLFCTA.mjs +0 -61
- package/dist/libraries/react/chunk-KHU4NOQJ.mjs +0 -30
- package/dist/libraries/react/chunk-PIIGEXKQ.mjs +0 -77
- package/dist/libraries/react/chunk-PYM4YPRD.mjs +0 -38
- package/dist/libraries/react/chunk-Q5SSQSDP.mjs +0 -48
- package/dist/libraries/react/chunk-URAFNMTH.mjs +0 -48
- package/dist/libraries/react/chunk-VN4AVW2V.mjs +0 -24
- package/dist/libraries/react/hooks/useCustomerProvider.d.mts +0 -28
- package/dist/libraries/react/hooks/useCustomerProvider.d.ts +0 -28
- package/dist/libraries/react/hooks/useCustomerProvider.js +0 -100
- package/dist/libraries/react/hooks/useCustomerProvider.mjs +0 -8
- package/dist/libraries/react/hooks/useEntityProvider.d.mts +0 -33
- package/dist/libraries/react/hooks/useEntityProvider.d.ts +0 -33
- package/dist/libraries/react/hooks/useEntityProvider.mjs +0 -9
- package/dist/libraries/react/hooks/usePricingTableProvider.d.mts +0 -19
- package/dist/libraries/react/hooks/usePricingTableProvider.d.ts +0 -19
- package/dist/libraries/react/hooks/usePricingTableProvider.mjs +0 -9
- package/dist/libraries/react/index.d.mts +0 -16
- package/dist/next/client/AutumnContext.d.mts +0 -9
- package/dist/next/client/AutumnContext.d.ts +0 -9
- package/dist/next/client/AutumnContext.js +0 -47
- package/dist/next/client/AutumnContext.mjs +0 -47
- package/dist/next/client/AutumnProvider.d.mts +0 -11
- package/dist/next/client/AutumnProvider.d.ts +0 -11
- package/dist/next/client/AutumnProvider.js +0 -117
- package/dist/next/client/AutumnProvider.mjs +0 -117
- package/dist/next/client/clientEntTypes-pqnB95m3.d.mts +0 -9
- package/dist/next/client/clientEntTypes-pqnB95m3.d.ts +0 -9
- package/dist/next/client/cusTypes-sh5_cN7N.d.mts +0 -86
- package/dist/next/client/cusTypes-sh5_cN7N.d.ts +0 -86
- package/dist/next/client/hooks/types.d.mts +0 -27
- package/dist/next/client/hooks/types.d.ts +0 -27
- package/dist/next/client/hooks/useEntityProvider.d.mts +0 -11
- package/dist/next/client/hooks/useEntityProvider.d.ts +0 -11
- package/dist/next/client/hooks/useEntityProvider.mjs +0 -52
- package/dist/next/server/clientEntTypes-B3DRcw3U.d.mts +0 -216
- package/dist/next/server/clientEntTypes-BRUTcNUD.d.ts +0 -216
- package/dist/sdk/check.d.mts +0 -47
- package/dist/sdk/check.d.ts +0 -47
- package/dist/sdk/cusTypes-BTV6ui4e.d.ts +0 -95
- package/dist/sdk/cusTypes-wBxbodEe.d.mts +0 -95
- package/dist/sdk/customers.d.mts +0 -2
- package/dist/sdk/customers.d.ts +0 -2
- package/dist/sdk/entTypes-BwLV9Jn4.d.ts +0 -35
- package/dist/sdk/entTypes-CJjjWn54.d.mts +0 -35
- package/dist/sdk/entities.d.mts +0 -3
- package/dist/sdk/entities.d.ts +0 -3
- package/dist/sdk/general.d.mts +0 -104
- package/dist/sdk/general.d.ts +0 -104
- package/dist/sdk/prodEnums-C1lccCWI.d.mts +0 -28
- package/dist/sdk/prodEnums-C1lccCWI.d.ts +0 -28
- package/dist/sdk/products.d.mts +0 -47
- package/dist/sdk/products.d.ts +0 -47
- /package/dist/{next/client/hooks/types.js → libraries/react/client/types/clientProdTypes.mjs} +0 -0
- /package/dist/next/client/{hooks/types.mjs → AutumnClientProvider.js} +0 -0
- /package/dist/next/server/auth/{withAuth.js → withNextAuth.js} +0 -0
- /package/dist/next/server/auth/{withAuth.mjs → withNextAuth.mjs} +0 -0
|
@@ -0,0 +1,1168 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
var __create = Object.create;
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __export = (target, all) => {
|
|
11
|
+
for (var name in all)
|
|
12
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
+
};
|
|
14
|
+
var __copyProps = (to, from, except, desc) => {
|
|
15
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
+
for (let key of __getOwnPropNames(from))
|
|
17
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
28
|
+
mod
|
|
29
|
+
));
|
|
30
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
31
|
+
|
|
32
|
+
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
33
|
+
var useCustomerBase_exports = {};
|
|
34
|
+
__export(useCustomerBase_exports, {
|
|
35
|
+
useCustomerBase: () => useCustomerBase
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(useCustomerBase_exports);
|
|
38
|
+
var import_swr2 = __toESM(require("swr"));
|
|
39
|
+
|
|
40
|
+
// src/sdk/error.ts
|
|
41
|
+
var AutumnError = class _AutumnError extends Error {
|
|
42
|
+
message;
|
|
43
|
+
code;
|
|
44
|
+
constructor(response) {
|
|
45
|
+
super(response.message);
|
|
46
|
+
this.message = response.message;
|
|
47
|
+
this.code = response.code;
|
|
48
|
+
}
|
|
49
|
+
static fromError(error) {
|
|
50
|
+
return new _AutumnError({
|
|
51
|
+
message: error.message || "Unknown error",
|
|
52
|
+
code: error.code || "unknown_error"
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
toString() {
|
|
56
|
+
return `${this.message} (code: ${this.code})`;
|
|
57
|
+
}
|
|
58
|
+
toJSON() {
|
|
59
|
+
return {
|
|
60
|
+
message: this.message,
|
|
61
|
+
code: this.code
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// src/sdk/general/genMethods.ts
|
|
67
|
+
var handleAttach = async ({
|
|
68
|
+
instance,
|
|
69
|
+
params
|
|
70
|
+
}) => {
|
|
71
|
+
return instance.post("/attach", params);
|
|
72
|
+
};
|
|
73
|
+
var handleCancel = async ({
|
|
74
|
+
instance,
|
|
75
|
+
params
|
|
76
|
+
}) => {
|
|
77
|
+
return instance.post("/cancel", params);
|
|
78
|
+
};
|
|
79
|
+
var handleEntitled = async ({
|
|
80
|
+
instance,
|
|
81
|
+
params
|
|
82
|
+
}) => {
|
|
83
|
+
return instance.post("/entitled", params);
|
|
84
|
+
};
|
|
85
|
+
var handleEvent = async ({
|
|
86
|
+
instance,
|
|
87
|
+
params
|
|
88
|
+
}) => {
|
|
89
|
+
return instance.post("/events", params);
|
|
90
|
+
};
|
|
91
|
+
var handleTrack = async ({
|
|
92
|
+
instance,
|
|
93
|
+
params
|
|
94
|
+
}) => {
|
|
95
|
+
return instance.post("/track", params);
|
|
96
|
+
};
|
|
97
|
+
var handleUsage = async ({
|
|
98
|
+
instance,
|
|
99
|
+
params
|
|
100
|
+
}) => {
|
|
101
|
+
return instance.post("/usage", params);
|
|
102
|
+
};
|
|
103
|
+
var handleCheck = async ({
|
|
104
|
+
instance,
|
|
105
|
+
params
|
|
106
|
+
}) => {
|
|
107
|
+
return instance.post("/check", params);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
// src/libraries/backend/constants.ts
|
|
111
|
+
var autumnApiUrl = "https://api.useautumn.com/v1";
|
|
112
|
+
|
|
113
|
+
// src/sdk/utils.ts
|
|
114
|
+
var staticWrapper = (callback, instance, args) => {
|
|
115
|
+
if (!instance) {
|
|
116
|
+
instance = new Autumn();
|
|
117
|
+
}
|
|
118
|
+
return callback({ instance, ...args });
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
// src/sdk/customers/cusMethods.ts
|
|
122
|
+
var customerMethods = (instance) => {
|
|
123
|
+
return {
|
|
124
|
+
get: (id, params) => staticWrapper(getCustomer, instance, { id, params }),
|
|
125
|
+
create: (params) => staticWrapper(createCustomer, instance, { params }),
|
|
126
|
+
update: (id, params) => staticWrapper(updateCustomer, instance, { id, params }),
|
|
127
|
+
delete: (id) => staticWrapper(deleteCustomer, instance, { id }),
|
|
128
|
+
billingPortal: (id, params) => staticWrapper(billingPortal, instance, { id, params })
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
var getExpandStr = (expand) => {
|
|
132
|
+
if (!expand) {
|
|
133
|
+
return "";
|
|
134
|
+
}
|
|
135
|
+
return `expand=${expand.join(",")}`;
|
|
136
|
+
};
|
|
137
|
+
var getCustomer = async ({
|
|
138
|
+
instance,
|
|
139
|
+
id,
|
|
140
|
+
params
|
|
141
|
+
}) => {
|
|
142
|
+
if (!id) {
|
|
143
|
+
return {
|
|
144
|
+
data: null,
|
|
145
|
+
error: new AutumnError({
|
|
146
|
+
message: "Customer ID is required",
|
|
147
|
+
code: "CUSTOMER_ID_REQUIRED"
|
|
148
|
+
})
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
return instance.get(`/customers/${id}?${getExpandStr(params?.expand)}`);
|
|
152
|
+
};
|
|
153
|
+
var createCustomer = async ({
|
|
154
|
+
instance,
|
|
155
|
+
params
|
|
156
|
+
}) => {
|
|
157
|
+
return instance.post(`/customers?${getExpandStr(params?.expand)}`, params);
|
|
158
|
+
};
|
|
159
|
+
var updateCustomer = async ({
|
|
160
|
+
instance,
|
|
161
|
+
id,
|
|
162
|
+
params
|
|
163
|
+
}) => {
|
|
164
|
+
return instance.post(`/customers/${id}`, params);
|
|
165
|
+
};
|
|
166
|
+
var deleteCustomer = async ({
|
|
167
|
+
instance,
|
|
168
|
+
id
|
|
169
|
+
}) => {
|
|
170
|
+
return instance.delete(`/customers/${id}`);
|
|
171
|
+
};
|
|
172
|
+
var billingPortal = async ({
|
|
173
|
+
instance,
|
|
174
|
+
id,
|
|
175
|
+
params
|
|
176
|
+
}) => {
|
|
177
|
+
return instance.post(`/customers/${id}/billing_portal`, params);
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
// src/sdk/customers/entities/entMethods.ts
|
|
181
|
+
var entityMethods = (instance) => {
|
|
182
|
+
return {
|
|
183
|
+
get: (customer_id, entity_id, params) => staticWrapper(getEntity, instance, {
|
|
184
|
+
customer_id,
|
|
185
|
+
entity_id,
|
|
186
|
+
params
|
|
187
|
+
}),
|
|
188
|
+
create: (customer_id, params) => staticWrapper(createEntity, instance, { customer_id, params }),
|
|
189
|
+
delete: (customer_id, entity_id) => staticWrapper(deleteEntity, instance, { customer_id, entity_id })
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
var getExpandStr2 = (expand) => {
|
|
193
|
+
if (!expand) {
|
|
194
|
+
return "";
|
|
195
|
+
}
|
|
196
|
+
return `expand=${expand.join(",")}`;
|
|
197
|
+
};
|
|
198
|
+
var getEntity = async ({
|
|
199
|
+
instance,
|
|
200
|
+
customer_id,
|
|
201
|
+
entity_id,
|
|
202
|
+
params
|
|
203
|
+
}) => {
|
|
204
|
+
return instance.get(
|
|
205
|
+
`/customers/${customer_id}/entities/${entity_id}?${getExpandStr2(
|
|
206
|
+
params?.expand
|
|
207
|
+
)}`
|
|
208
|
+
);
|
|
209
|
+
};
|
|
210
|
+
var createEntity = async ({
|
|
211
|
+
instance,
|
|
212
|
+
customer_id,
|
|
213
|
+
params
|
|
214
|
+
}) => {
|
|
215
|
+
return instance.post(`/customers/${customer_id}/entities`, params);
|
|
216
|
+
};
|
|
217
|
+
var deleteEntity = async ({
|
|
218
|
+
instance,
|
|
219
|
+
customer_id,
|
|
220
|
+
entity_id
|
|
221
|
+
}) => {
|
|
222
|
+
return instance.delete(`/customers/${customer_id}/entities/${entity_id}`);
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
// src/sdk/products/prodMethods.ts
|
|
226
|
+
var productMethods = (instance) => {
|
|
227
|
+
return {
|
|
228
|
+
get: (id) => staticWrapper(getProduct, instance, { id }),
|
|
229
|
+
create: (params) => staticWrapper(createProduct, instance, { params }),
|
|
230
|
+
list: (params) => staticWrapper(listProducts, instance, { params })
|
|
231
|
+
};
|
|
232
|
+
};
|
|
233
|
+
var listProducts = async ({
|
|
234
|
+
instance,
|
|
235
|
+
params
|
|
236
|
+
}) => {
|
|
237
|
+
let path = "/products_beta";
|
|
238
|
+
if (params) {
|
|
239
|
+
const queryParams = new URLSearchParams();
|
|
240
|
+
for (const [key, value] of Object.entries(params)) {
|
|
241
|
+
if (value !== void 0) {
|
|
242
|
+
queryParams.append(key, String(value));
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
const queryString = queryParams.toString();
|
|
246
|
+
if (queryString) {
|
|
247
|
+
path += `?${queryString}`;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return instance.get(path);
|
|
251
|
+
};
|
|
252
|
+
var getProduct = async ({
|
|
253
|
+
instance,
|
|
254
|
+
id
|
|
255
|
+
}) => {
|
|
256
|
+
return instance.get(`/products/${id}`);
|
|
257
|
+
};
|
|
258
|
+
var createProduct = async ({
|
|
259
|
+
instance,
|
|
260
|
+
params
|
|
261
|
+
}) => {
|
|
262
|
+
return instance.post("/products", params);
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
// src/sdk/referrals/referralMethods.ts
|
|
266
|
+
var referralMethods = (instance) => {
|
|
267
|
+
return {
|
|
268
|
+
createCode: (params) => staticWrapper(createReferralCode, instance, { params }),
|
|
269
|
+
redeemCode: (params) => staticWrapper(redeemReferralCode, instance, { params })
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
var createReferralCode = async ({
|
|
273
|
+
instance,
|
|
274
|
+
params
|
|
275
|
+
}) => {
|
|
276
|
+
return instance.post("/referrals/code", params);
|
|
277
|
+
};
|
|
278
|
+
var redeemReferralCode = async ({
|
|
279
|
+
instance,
|
|
280
|
+
params
|
|
281
|
+
}) => {
|
|
282
|
+
return instance.post("/referrals/redeem", params);
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
// src/sdk/response.ts
|
|
286
|
+
var toContainerResult = async ({ response, logger: logger2 }) => {
|
|
287
|
+
if (response.status < 200 || response.status >= 300) {
|
|
288
|
+
let error;
|
|
289
|
+
try {
|
|
290
|
+
error = await response.json();
|
|
291
|
+
logger2.error(`[Autumn] ${error.message}`);
|
|
292
|
+
} catch (error2) {
|
|
293
|
+
throw error2;
|
|
294
|
+
return {
|
|
295
|
+
data: null,
|
|
296
|
+
error: new AutumnError({
|
|
297
|
+
message: "Failed to parse JSON response from Autumn",
|
|
298
|
+
code: "internal_error"
|
|
299
|
+
}),
|
|
300
|
+
statusCode: response.status
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
return {
|
|
304
|
+
data: null,
|
|
305
|
+
error: new AutumnError({
|
|
306
|
+
message: error.message,
|
|
307
|
+
code: error.code
|
|
308
|
+
}),
|
|
309
|
+
statusCode: response.status
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
try {
|
|
313
|
+
let data = await response.json();
|
|
314
|
+
return {
|
|
315
|
+
data,
|
|
316
|
+
error: null,
|
|
317
|
+
statusCode: response?.status
|
|
318
|
+
};
|
|
319
|
+
} catch (error) {
|
|
320
|
+
throw error;
|
|
321
|
+
return {
|
|
322
|
+
data: null,
|
|
323
|
+
error: new AutumnError({
|
|
324
|
+
message: "Failed to parse Autumn API response",
|
|
325
|
+
code: "internal_error"
|
|
326
|
+
}),
|
|
327
|
+
statusCode: response?.status
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
// src/utils/logger.ts
|
|
333
|
+
var import_chalk = __toESM(require("chalk"));
|
|
334
|
+
var getTime = () => {
|
|
335
|
+
let timeString = (/* @__PURE__ */ new Date()).toISOString();
|
|
336
|
+
return `[${timeString.split("T")[1].split(".")[0]}]`;
|
|
337
|
+
};
|
|
338
|
+
var greaterThanLevel = (level) => {
|
|
339
|
+
return levels.indexOf(level) >= levels.indexOf(logger.level);
|
|
340
|
+
};
|
|
341
|
+
var levels = ["debug", "info", "warn", "error", "fatal"];
|
|
342
|
+
var logger = {
|
|
343
|
+
...console,
|
|
344
|
+
level: "info",
|
|
345
|
+
debug: (...args) => {
|
|
346
|
+
if (greaterThanLevel("debug")) {
|
|
347
|
+
console.log(getTime(), import_chalk.default.gray("DEBUG"), ...args);
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
log: (...args) => {
|
|
351
|
+
console.log(getTime(), import_chalk.default.blue("INFO"), ...args);
|
|
352
|
+
},
|
|
353
|
+
info: (...args) => {
|
|
354
|
+
if (greaterThanLevel("info")) {
|
|
355
|
+
console.log(getTime(), import_chalk.default.blue("INFO"), ...args);
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
warn: (...args) => {
|
|
359
|
+
if (greaterThanLevel("warn")) {
|
|
360
|
+
console.log(getTime(), import_chalk.default.yellow("WARN"), ...args);
|
|
361
|
+
}
|
|
362
|
+
},
|
|
363
|
+
error: (...args) => {
|
|
364
|
+
if (greaterThanLevel("error")) {
|
|
365
|
+
console.log(getTime(), import_chalk.default.red("ERROR"), ...args);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
|
|
370
|
+
// src/sdk/client.ts
|
|
371
|
+
var LATEST_API_VERSION = "1.2";
|
|
372
|
+
var Autumn = class {
|
|
373
|
+
secretKey;
|
|
374
|
+
publishableKey;
|
|
375
|
+
headers;
|
|
376
|
+
url;
|
|
377
|
+
logger = console;
|
|
378
|
+
constructor(options) {
|
|
379
|
+
try {
|
|
380
|
+
this.secretKey = options?.secretKey || process.env.AUTUMN_SECRET_KEY;
|
|
381
|
+
this.publishableKey = options?.publishableKey || process.env.AUTUMN_PUBLISHABLE_KEY;
|
|
382
|
+
} catch (error) {
|
|
383
|
+
}
|
|
384
|
+
if (!this.secretKey && !this.publishableKey && !options?.headers) {
|
|
385
|
+
throw new Error("Autumn secret key or publishable key is required");
|
|
386
|
+
}
|
|
387
|
+
this.headers = options?.headers || {
|
|
388
|
+
Authorization: `Bearer ${this.secretKey || this.publishableKey}`,
|
|
389
|
+
"Content-Type": "application/json"
|
|
390
|
+
};
|
|
391
|
+
let version = options?.version || LATEST_API_VERSION;
|
|
392
|
+
this.headers["x-api-version"] = version;
|
|
393
|
+
this.url = options?.url || autumnApiUrl;
|
|
394
|
+
this.logger = logger;
|
|
395
|
+
this.logger.level = options?.logLevel || "info";
|
|
396
|
+
}
|
|
397
|
+
async get(path) {
|
|
398
|
+
const response = await fetch(`${this.url}${path}`, {
|
|
399
|
+
headers: this.headers
|
|
400
|
+
});
|
|
401
|
+
return toContainerResult({ response, logger: this.logger });
|
|
402
|
+
}
|
|
403
|
+
async post(path, body) {
|
|
404
|
+
try {
|
|
405
|
+
const response = await fetch(`${this.url}${path}`, {
|
|
406
|
+
method: "POST",
|
|
407
|
+
headers: this.headers,
|
|
408
|
+
body: JSON.stringify(body)
|
|
409
|
+
});
|
|
410
|
+
return toContainerResult({ response, logger: this.logger });
|
|
411
|
+
} catch (error) {
|
|
412
|
+
console.error("Error sending request:", error);
|
|
413
|
+
throw error;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
async delete(path) {
|
|
417
|
+
const response = await fetch(`${this.url}${path}`, {
|
|
418
|
+
method: "DELETE",
|
|
419
|
+
headers: this.headers
|
|
420
|
+
});
|
|
421
|
+
return toContainerResult({ response, logger: this.logger });
|
|
422
|
+
}
|
|
423
|
+
static customers = customerMethods();
|
|
424
|
+
static products = productMethods();
|
|
425
|
+
static entities = entityMethods();
|
|
426
|
+
static referrals = referralMethods();
|
|
427
|
+
customers = customerMethods(this);
|
|
428
|
+
products = productMethods(this);
|
|
429
|
+
entities = entityMethods(this);
|
|
430
|
+
referrals = referralMethods(this);
|
|
431
|
+
static attach = (params) => staticWrapper(handleAttach, void 0, { params });
|
|
432
|
+
static usage = (params) => staticWrapper(handleUsage, void 0, { params });
|
|
433
|
+
async attach(params) {
|
|
434
|
+
return handleAttach({
|
|
435
|
+
instance: this,
|
|
436
|
+
params
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
static cancel = (params) => staticWrapper(handleCancel, void 0, { params });
|
|
440
|
+
async cancel(params) {
|
|
441
|
+
return handleCancel({
|
|
442
|
+
instance: this,
|
|
443
|
+
params
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* @deprecated This method is deprecated and will be removed in a future version.
|
|
448
|
+
* Please use the new check() method instead.
|
|
449
|
+
*/
|
|
450
|
+
static entitled = (params) => staticWrapper(handleEntitled, void 0, { params });
|
|
451
|
+
/**
|
|
452
|
+
* @deprecated This method is deprecated and will be removed in a future version.
|
|
453
|
+
* Please use the new check() method instead.
|
|
454
|
+
*/
|
|
455
|
+
async entitled(params) {
|
|
456
|
+
return handleEntitled({
|
|
457
|
+
instance: this,
|
|
458
|
+
params
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
static check = (params) => staticWrapper(handleCheck, void 0, { params });
|
|
462
|
+
async check(params) {
|
|
463
|
+
return handleCheck({
|
|
464
|
+
instance: this,
|
|
465
|
+
params
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* @deprecated This method is deprecated and will be removed in a future version.
|
|
470
|
+
* Please use the new track() method instead.
|
|
471
|
+
*/
|
|
472
|
+
static event = (params) => staticWrapper(handleEvent, void 0, { params });
|
|
473
|
+
/**
|
|
474
|
+
* @deprecated This method is deprecated and will be removed in a future version.
|
|
475
|
+
* Please use the new track() method instead.
|
|
476
|
+
*/
|
|
477
|
+
async event(params) {
|
|
478
|
+
return handleEvent({
|
|
479
|
+
instance: this,
|
|
480
|
+
params
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
static track = (params) => staticWrapper(handleTrack, void 0, { params });
|
|
484
|
+
async track(params) {
|
|
485
|
+
return handleTrack({
|
|
486
|
+
instance: this,
|
|
487
|
+
params
|
|
488
|
+
});
|
|
489
|
+
}
|
|
490
|
+
async usage(params) {
|
|
491
|
+
return handleUsage({
|
|
492
|
+
instance: this,
|
|
493
|
+
params
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
};
|
|
497
|
+
|
|
498
|
+
// src/libraries/react/errorUtils/logFetchError.ts
|
|
499
|
+
var logFetchError = ({
|
|
500
|
+
method,
|
|
501
|
+
backendUrl,
|
|
502
|
+
path,
|
|
503
|
+
error
|
|
504
|
+
}) => {
|
|
505
|
+
console.error(`[Autumn] Fetch failed: ${method} ${backendUrl}${path}
|
|
506
|
+
|
|
507
|
+
1. Check that backendUrl in <AutumnProvider/> is correctly set.
|
|
508
|
+
2. Check that autumnHandler is correctly registered on your backend.`);
|
|
509
|
+
};
|
|
510
|
+
|
|
511
|
+
// src/libraries/react/client/clientCompMethods.ts
|
|
512
|
+
async function getPricingTableMethod() {
|
|
513
|
+
const res = await this.get("/api/autumn/components/pricing_table");
|
|
514
|
+
return res;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
// src/libraries/react/client/clientCusMethods.ts
|
|
518
|
+
var createCustomerMethod = async ({
|
|
519
|
+
client,
|
|
520
|
+
params
|
|
521
|
+
}) => {
|
|
522
|
+
let result = await client.post("/api/autumn/customers", params);
|
|
523
|
+
return result;
|
|
524
|
+
};
|
|
525
|
+
|
|
526
|
+
// src/libraries/react/utils/toSnakeCase.ts
|
|
527
|
+
function stringToSnakeCase(str) {
|
|
528
|
+
return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
|
|
529
|
+
}
|
|
530
|
+
var toSnakeCase = (obj) => {
|
|
531
|
+
if (Array.isArray(obj)) {
|
|
532
|
+
return obj.map(toSnakeCase);
|
|
533
|
+
} else if (obj !== null && typeof obj === "object") {
|
|
534
|
+
return Object.fromEntries(
|
|
535
|
+
Object.entries(obj).map(([key, value]) => [
|
|
536
|
+
stringToSnakeCase(key),
|
|
537
|
+
toSnakeCase(value)
|
|
538
|
+
])
|
|
539
|
+
);
|
|
540
|
+
}
|
|
541
|
+
return obj;
|
|
542
|
+
};
|
|
543
|
+
|
|
544
|
+
// src/utils/entityUtils.tsx
|
|
545
|
+
var getEntityExpandStr = (expand) => {
|
|
546
|
+
if (!expand) {
|
|
547
|
+
return "";
|
|
548
|
+
}
|
|
549
|
+
return `expand=${expand.join(",")}`;
|
|
550
|
+
};
|
|
551
|
+
|
|
552
|
+
// src/libraries/react/client/clientEntityMethods.ts
|
|
553
|
+
async function createEntityMethod(params) {
|
|
554
|
+
let snakeParams = toSnakeCase(params);
|
|
555
|
+
const res = await this.post("/api/autumn/entities", snakeParams);
|
|
556
|
+
return res;
|
|
557
|
+
}
|
|
558
|
+
async function getEntityMethod(entityId, params) {
|
|
559
|
+
let snakeParams = toSnakeCase(params);
|
|
560
|
+
let expand = getEntityExpandStr(params?.expand);
|
|
561
|
+
const res = await this.get(`/api/autumn/entities/${entityId}?${expand}`);
|
|
562
|
+
return res;
|
|
563
|
+
}
|
|
564
|
+
async function deleteEntityMethod(entityId) {
|
|
565
|
+
const res = await this.delete(`/api/autumn/entities/${entityId}`);
|
|
566
|
+
return res;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
// src/libraries/react/client/clientGenMethods.ts
|
|
570
|
+
async function attachMethod(params) {
|
|
571
|
+
let { dialog, ...rest } = params;
|
|
572
|
+
let snakeParams = toSnakeCase(rest);
|
|
573
|
+
const res = await this.post("/api/autumn/attach", snakeParams);
|
|
574
|
+
return res;
|
|
575
|
+
}
|
|
576
|
+
async function cancelMethod(params) {
|
|
577
|
+
let snakeParams = toSnakeCase(params);
|
|
578
|
+
const res = await this.post("/api/autumn/cancel", snakeParams);
|
|
579
|
+
return res;
|
|
580
|
+
}
|
|
581
|
+
async function checkMethod(params) {
|
|
582
|
+
let { dialog, ...rest } = params;
|
|
583
|
+
let snakeParams = toSnakeCase(rest);
|
|
584
|
+
const res = await this.post("/api/autumn/check", snakeParams);
|
|
585
|
+
return res;
|
|
586
|
+
}
|
|
587
|
+
async function trackMethod(params) {
|
|
588
|
+
let snakeParams = toSnakeCase(params);
|
|
589
|
+
const res = await this.post("/api/autumn/track", snakeParams);
|
|
590
|
+
return res;
|
|
591
|
+
}
|
|
592
|
+
async function openBillingPortalMethod(params) {
|
|
593
|
+
let snakeParams = toSnakeCase(params || {});
|
|
594
|
+
const res = await this.post("/api/autumn/billing_portal", snakeParams);
|
|
595
|
+
return res;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
// src/libraries/react/client/clientProdMethods.ts
|
|
599
|
+
async function listProductsMethod() {
|
|
600
|
+
const res = await this.get("/api/autumn/products");
|
|
601
|
+
return res;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
// src/libraries/react/client/clientReferralMethods.ts
|
|
605
|
+
async function createCode(params) {
|
|
606
|
+
let snakeParams = toSnakeCase(params);
|
|
607
|
+
const res = await this.post("/api/autumn/referrals/code", snakeParams);
|
|
608
|
+
return res;
|
|
609
|
+
}
|
|
610
|
+
async function redeemCode(params) {
|
|
611
|
+
let snakeParams = toSnakeCase(params);
|
|
612
|
+
const res = await this.post("/api/autumn/referrals/redeem", snakeParams);
|
|
613
|
+
return res;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
// src/libraries/react/client/ReactAutumnClient.tsx
|
|
617
|
+
var AutumnClient = class {
|
|
618
|
+
backendUrl;
|
|
619
|
+
getBearerToken;
|
|
620
|
+
customerData;
|
|
621
|
+
includeCredentials;
|
|
622
|
+
constructor({
|
|
623
|
+
backendUrl,
|
|
624
|
+
getBearerToken,
|
|
625
|
+
customerData,
|
|
626
|
+
includeCredentials
|
|
627
|
+
}) {
|
|
628
|
+
this.backendUrl = backendUrl;
|
|
629
|
+
this.getBearerToken = getBearerToken;
|
|
630
|
+
this.customerData = customerData;
|
|
631
|
+
this.includeCredentials = includeCredentials;
|
|
632
|
+
}
|
|
633
|
+
async getHeaders() {
|
|
634
|
+
let headers = {
|
|
635
|
+
"Content-Type": "application/json"
|
|
636
|
+
};
|
|
637
|
+
if (this.getBearerToken) {
|
|
638
|
+
try {
|
|
639
|
+
let token = await this.getBearerToken();
|
|
640
|
+
headers.Authorization = `Bearer ${token}`;
|
|
641
|
+
} catch (error) {
|
|
642
|
+
console.error(`Failed to call getToken() in AutumnProvider`);
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
return headers;
|
|
646
|
+
}
|
|
647
|
+
async handleFetch({
|
|
648
|
+
path,
|
|
649
|
+
method,
|
|
650
|
+
body
|
|
651
|
+
}) {
|
|
652
|
+
body = method === "POST" ? JSON.stringify({
|
|
653
|
+
...body,
|
|
654
|
+
customer_data: this.customerData || void 0
|
|
655
|
+
}) : void 0;
|
|
656
|
+
try {
|
|
657
|
+
const response = await fetch(`${this.backendUrl}${path}`, {
|
|
658
|
+
method,
|
|
659
|
+
body,
|
|
660
|
+
headers: await this.getHeaders(),
|
|
661
|
+
credentials: this.includeCredentials ? "include" : void 0
|
|
662
|
+
});
|
|
663
|
+
return await toContainerResult({ response, logger: console });
|
|
664
|
+
} catch (error) {
|
|
665
|
+
logFetchError({
|
|
666
|
+
method,
|
|
667
|
+
backendUrl: this.backendUrl || "",
|
|
668
|
+
path,
|
|
669
|
+
error
|
|
670
|
+
});
|
|
671
|
+
return {
|
|
672
|
+
data: null,
|
|
673
|
+
error: new AutumnError({
|
|
674
|
+
message: error.message,
|
|
675
|
+
code: "fetch_failed"
|
|
676
|
+
})
|
|
677
|
+
};
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
async post(path, body) {
|
|
681
|
+
return await this.handleFetch({
|
|
682
|
+
path,
|
|
683
|
+
method: "POST",
|
|
684
|
+
body
|
|
685
|
+
});
|
|
686
|
+
}
|
|
687
|
+
async get(path) {
|
|
688
|
+
return await this.handleFetch({
|
|
689
|
+
path,
|
|
690
|
+
method: "GET"
|
|
691
|
+
});
|
|
692
|
+
}
|
|
693
|
+
async delete(path) {
|
|
694
|
+
return await this.handleFetch({
|
|
695
|
+
path,
|
|
696
|
+
method: "DELETE"
|
|
697
|
+
});
|
|
698
|
+
}
|
|
699
|
+
async createCustomer(params) {
|
|
700
|
+
return await createCustomerMethod({
|
|
701
|
+
client: this,
|
|
702
|
+
params
|
|
703
|
+
});
|
|
704
|
+
}
|
|
705
|
+
async getPricingTable() {
|
|
706
|
+
return await getPricingTableMethod.bind(this)();
|
|
707
|
+
}
|
|
708
|
+
attach = attachMethod.bind(this);
|
|
709
|
+
cancel = cancelMethod.bind(this);
|
|
710
|
+
check = checkMethod.bind(this);
|
|
711
|
+
track = trackMethod.bind(this);
|
|
712
|
+
openBillingPortal = openBillingPortalMethod.bind(this);
|
|
713
|
+
entities = {
|
|
714
|
+
create: createEntityMethod.bind(this),
|
|
715
|
+
get: getEntityMethod.bind(this),
|
|
716
|
+
delete: deleteEntityMethod.bind(this)
|
|
717
|
+
};
|
|
718
|
+
referrals = {
|
|
719
|
+
createCode: createCode.bind(this),
|
|
720
|
+
redeemCode: redeemCode.bind(this)
|
|
721
|
+
};
|
|
722
|
+
products = {
|
|
723
|
+
list: listProductsMethod.bind(this)
|
|
724
|
+
};
|
|
725
|
+
};
|
|
726
|
+
|
|
727
|
+
// src/libraries/react/AutumnContext.tsx
|
|
728
|
+
var import_react = require("react");
|
|
729
|
+
var AutumnContext = (0, import_react.createContext)({
|
|
730
|
+
initialized: false,
|
|
731
|
+
disableDialogs: false,
|
|
732
|
+
client: new AutumnClient({ backendUrl: "" }),
|
|
733
|
+
paywallDialog: {
|
|
734
|
+
props: null,
|
|
735
|
+
setProps: () => {
|
|
736
|
+
},
|
|
737
|
+
open: false,
|
|
738
|
+
setOpen: () => {
|
|
739
|
+
},
|
|
740
|
+
setComponent: () => {
|
|
741
|
+
}
|
|
742
|
+
},
|
|
743
|
+
attachDialog: {
|
|
744
|
+
props: null,
|
|
745
|
+
setProps: () => {
|
|
746
|
+
},
|
|
747
|
+
open: false,
|
|
748
|
+
setOpen: () => {
|
|
749
|
+
},
|
|
750
|
+
setComponent: () => {
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
});
|
|
754
|
+
var useAutumnContext = ({
|
|
755
|
+
AutumnContext: AutumnContext2,
|
|
756
|
+
name
|
|
757
|
+
}) => {
|
|
758
|
+
const context = (0, import_react.useContext)(AutumnContext2);
|
|
759
|
+
if (!context.initialized) {
|
|
760
|
+
throw new Error(`${name} must be used within <AutumnProvider />`);
|
|
761
|
+
}
|
|
762
|
+
return context;
|
|
763
|
+
};
|
|
764
|
+
|
|
765
|
+
// src/libraries/react/hooks/usePricingTableBase.tsx
|
|
766
|
+
var import_swr = __toESM(require("swr"));
|
|
767
|
+
var mergeProductDetails = (products, productDetails) => {
|
|
768
|
+
if (!products) {
|
|
769
|
+
return null;
|
|
770
|
+
}
|
|
771
|
+
if (!productDetails) {
|
|
772
|
+
return products;
|
|
773
|
+
}
|
|
774
|
+
let fetchedProducts = structuredClone(products);
|
|
775
|
+
let mergedProducts = [];
|
|
776
|
+
for (const overrideDetails of productDetails) {
|
|
777
|
+
if (!overrideDetails.id) {
|
|
778
|
+
let properties = {};
|
|
779
|
+
let overrideItems2 = overrideDetails.items?.map((item) => ({
|
|
780
|
+
display: {
|
|
781
|
+
primary_text: item.primaryText,
|
|
782
|
+
secondary_text: item.secondaryText
|
|
783
|
+
}
|
|
784
|
+
}));
|
|
785
|
+
let overridePrice2 = overrideDetails.price;
|
|
786
|
+
if (overrideDetails.price) {
|
|
787
|
+
properties.is_free = false;
|
|
788
|
+
overrideItems2 = [
|
|
789
|
+
{
|
|
790
|
+
display: {
|
|
791
|
+
primary_text: overridePrice2?.primaryText,
|
|
792
|
+
secondary_text: overridePrice2?.secondaryText
|
|
793
|
+
}
|
|
794
|
+
},
|
|
795
|
+
...overrideItems2 || []
|
|
796
|
+
];
|
|
797
|
+
}
|
|
798
|
+
mergedProducts.push({
|
|
799
|
+
name: overrideDetails.name || "",
|
|
800
|
+
display: {
|
|
801
|
+
description: overrideDetails.description,
|
|
802
|
+
button_text: overrideDetails.buttonText,
|
|
803
|
+
recommend_text: overrideDetails.recommendText,
|
|
804
|
+
everything_from: overrideDetails.everythingFrom,
|
|
805
|
+
button_url: overrideDetails.buttonUrl
|
|
806
|
+
},
|
|
807
|
+
items: overrideItems2,
|
|
808
|
+
properties
|
|
809
|
+
});
|
|
810
|
+
continue;
|
|
811
|
+
}
|
|
812
|
+
let fetchedProduct = fetchedProducts.find(
|
|
813
|
+
(p) => p.id === overrideDetails.id
|
|
814
|
+
);
|
|
815
|
+
if (!fetchedProduct) {
|
|
816
|
+
continue;
|
|
817
|
+
}
|
|
818
|
+
const originalIsFree = fetchedProduct.properties?.is_free;
|
|
819
|
+
let overrideProperties = fetchedProduct.properties || {};
|
|
820
|
+
let overrideItems = overrideDetails.items;
|
|
821
|
+
let overridePrice = overrideDetails.price;
|
|
822
|
+
let mergedItems = [];
|
|
823
|
+
if (overridePrice) {
|
|
824
|
+
overrideProperties.is_free = false;
|
|
825
|
+
if (originalIsFree || overrideItems !== void 0) {
|
|
826
|
+
mergedItems.push({
|
|
827
|
+
display: {
|
|
828
|
+
primary_text: overridePrice.primaryText,
|
|
829
|
+
secondary_text: overridePrice.secondaryText
|
|
830
|
+
}
|
|
831
|
+
});
|
|
832
|
+
} else {
|
|
833
|
+
fetchedProduct.items[0].display = {
|
|
834
|
+
primary_text: overridePrice.primaryText,
|
|
835
|
+
secondary_text: overridePrice.secondaryText
|
|
836
|
+
};
|
|
837
|
+
}
|
|
838
|
+
} else {
|
|
839
|
+
if (overrideItems && !originalIsFree) {
|
|
840
|
+
mergedItems.push(fetchedProduct.items[0]);
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
if (overrideItems) {
|
|
844
|
+
for (const overrideItem of overrideItems) {
|
|
845
|
+
if (!overrideItem.featureId) {
|
|
846
|
+
mergedItems.push({
|
|
847
|
+
display: {
|
|
848
|
+
primary_text: overrideItem.primaryText,
|
|
849
|
+
secondary_text: overrideItem.secondaryText
|
|
850
|
+
}
|
|
851
|
+
});
|
|
852
|
+
} else {
|
|
853
|
+
let fetchedItem = fetchedProduct.items.find(
|
|
854
|
+
(i) => i.feature_id === overrideItem.featureId
|
|
855
|
+
);
|
|
856
|
+
if (!fetchedItem) {
|
|
857
|
+
console.error(
|
|
858
|
+
`Feature with id ${overrideItem.featureId} not found for product ${fetchedProduct.id}`
|
|
859
|
+
);
|
|
860
|
+
continue;
|
|
861
|
+
}
|
|
862
|
+
mergedItems.push({
|
|
863
|
+
...fetchedItem,
|
|
864
|
+
display: {
|
|
865
|
+
primary_text: overrideItem.primaryText || fetchedItem.display?.primary_text,
|
|
866
|
+
secondary_text: overrideItem.secondaryText || fetchedItem.display?.secondary_text
|
|
867
|
+
}
|
|
868
|
+
});
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
} else {
|
|
872
|
+
mergedItems = fetchedProduct.items;
|
|
873
|
+
}
|
|
874
|
+
const mergedProduct = {
|
|
875
|
+
...fetchedProduct,
|
|
876
|
+
name: overrideDetails.name || fetchedProduct.name,
|
|
877
|
+
items: mergedItems,
|
|
878
|
+
properties: overrideProperties,
|
|
879
|
+
display: {
|
|
880
|
+
description: overrideDetails.description,
|
|
881
|
+
button_text: overrideDetails.buttonText,
|
|
882
|
+
recommend_text: overrideDetails.recommendText,
|
|
883
|
+
everything_from: overrideDetails.everythingFrom,
|
|
884
|
+
button_url: overrideDetails.buttonUrl
|
|
885
|
+
}
|
|
886
|
+
// description: overrideDetails.description,
|
|
887
|
+
// button_text: overrideDetails.buttonText,
|
|
888
|
+
// recommend_text: overrideDetails.recommendText,
|
|
889
|
+
// everything_from: overrideDetails.everythingFrom,
|
|
890
|
+
};
|
|
891
|
+
mergedProducts.push(mergedProduct);
|
|
892
|
+
}
|
|
893
|
+
return mergedProducts;
|
|
894
|
+
};
|
|
895
|
+
var usePricingTableBase = ({
|
|
896
|
+
AutumnContext: AutumnContext2,
|
|
897
|
+
params
|
|
898
|
+
}) => {
|
|
899
|
+
const context = useAutumnContext({ AutumnContext: AutumnContext2, name: "usePricingTable" });
|
|
900
|
+
const fetcher = async () => {
|
|
901
|
+
try {
|
|
902
|
+
const { data: data2, error: error2 } = await context.client.products.list();
|
|
903
|
+
if (error2) throw error2;
|
|
904
|
+
return data2?.list || [];
|
|
905
|
+
} catch (error2) {
|
|
906
|
+
throw new AutumnError({
|
|
907
|
+
message: "Failed to fetch pricing table products",
|
|
908
|
+
code: "failed_to_fetch_pricing_table_products"
|
|
909
|
+
});
|
|
910
|
+
}
|
|
911
|
+
};
|
|
912
|
+
const { data, error, mutate } = (0, import_swr.default)(
|
|
913
|
+
"pricing-table",
|
|
914
|
+
fetcher
|
|
915
|
+
);
|
|
916
|
+
return {
|
|
917
|
+
products: mergeProductDetails(data || [], params?.productDetails),
|
|
918
|
+
// products: data || [],
|
|
919
|
+
isLoading: !error && !data,
|
|
920
|
+
error,
|
|
921
|
+
refetch: mutate
|
|
922
|
+
};
|
|
923
|
+
};
|
|
924
|
+
|
|
925
|
+
// src/libraries/react/hooks/useAutumnBase.tsx
|
|
926
|
+
var useAutumnBase = ({
|
|
927
|
+
AutumnContext: AutumnContext2
|
|
928
|
+
}) => {
|
|
929
|
+
const context = useAutumnContext({ AutumnContext: AutumnContext2, name: "useAutumn" });
|
|
930
|
+
const { attachDialog, paywallDialog } = context;
|
|
931
|
+
const client = context.client;
|
|
932
|
+
const { refetch: refetchPricingTable } = usePricingTableBase({
|
|
933
|
+
AutumnContext: AutumnContext2
|
|
934
|
+
});
|
|
935
|
+
let {
|
|
936
|
+
open: attachOpen,
|
|
937
|
+
setProps: setAttachProps,
|
|
938
|
+
setOpen: setAttachOpen,
|
|
939
|
+
setComponent: setAttachComponent
|
|
940
|
+
} = attachDialog;
|
|
941
|
+
let {
|
|
942
|
+
setProps: setCheckProps,
|
|
943
|
+
setOpen: setCheckOpen,
|
|
944
|
+
setComponent: setPaywallComponent
|
|
945
|
+
} = paywallDialog;
|
|
946
|
+
const attachWithoutDialog = async (params) => {
|
|
947
|
+
const result = await client.attach(params);
|
|
948
|
+
if (result.error) {
|
|
949
|
+
return result;
|
|
950
|
+
}
|
|
951
|
+
let data = result.data;
|
|
952
|
+
if (data?.checkout_url && typeof window !== "undefined") {
|
|
953
|
+
if (params.openInNewTab) {
|
|
954
|
+
window.open(data.checkout_url, "_blank");
|
|
955
|
+
} else {
|
|
956
|
+
window.location.href = data.checkout_url;
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
await refetchPricingTable();
|
|
960
|
+
if (setAttachOpen) {
|
|
961
|
+
setAttachOpen(false);
|
|
962
|
+
}
|
|
963
|
+
return result;
|
|
964
|
+
};
|
|
965
|
+
const attachWithDialog = async (params) => {
|
|
966
|
+
let { dialog, ...rest } = params;
|
|
967
|
+
const { productId, entityId, entityData } = params;
|
|
968
|
+
const checkRes = await client.check({
|
|
969
|
+
productId,
|
|
970
|
+
entityId,
|
|
971
|
+
entityData,
|
|
972
|
+
withPreview: true
|
|
973
|
+
});
|
|
974
|
+
if (checkRes.error) {
|
|
975
|
+
return checkRes;
|
|
976
|
+
}
|
|
977
|
+
let preview = checkRes.data.preview;
|
|
978
|
+
if (!preview) {
|
|
979
|
+
return await attachWithoutDialog(rest);
|
|
980
|
+
} else {
|
|
981
|
+
setAttachProps({ preview });
|
|
982
|
+
setAttachOpen(true);
|
|
983
|
+
}
|
|
984
|
+
return checkRes;
|
|
985
|
+
};
|
|
986
|
+
const attach = async (params) => {
|
|
987
|
+
const { dialog, openInNewTab } = params;
|
|
988
|
+
let finalDialog = dialog;
|
|
989
|
+
if (finalDialog && !attachOpen) {
|
|
990
|
+
setAttachComponent(finalDialog);
|
|
991
|
+
return await attachWithDialog(params);
|
|
992
|
+
}
|
|
993
|
+
return await attachWithoutDialog(params);
|
|
994
|
+
};
|
|
995
|
+
const cancel = async (params) => {
|
|
996
|
+
const res = await client.cancel(params);
|
|
997
|
+
if (res.error) {
|
|
998
|
+
return res;
|
|
999
|
+
}
|
|
1000
|
+
return res;
|
|
1001
|
+
};
|
|
1002
|
+
const check = async (params) => {
|
|
1003
|
+
let { dialog, withPreview } = params;
|
|
1004
|
+
if (dialog) {
|
|
1005
|
+
setPaywallComponent(dialog);
|
|
1006
|
+
}
|
|
1007
|
+
const res = await client.check({
|
|
1008
|
+
...params,
|
|
1009
|
+
withPreview: withPreview || dialog ? true : false
|
|
1010
|
+
});
|
|
1011
|
+
if (res.error) {
|
|
1012
|
+
return res;
|
|
1013
|
+
}
|
|
1014
|
+
let data = res.data;
|
|
1015
|
+
if (data && data.preview && dialog) {
|
|
1016
|
+
let preview = data.preview;
|
|
1017
|
+
setCheckProps({ preview });
|
|
1018
|
+
setCheckOpen(true);
|
|
1019
|
+
}
|
|
1020
|
+
return res;
|
|
1021
|
+
};
|
|
1022
|
+
const track = async (params) => {
|
|
1023
|
+
const res = await client.track(params);
|
|
1024
|
+
if (res.error) {
|
|
1025
|
+
return res;
|
|
1026
|
+
}
|
|
1027
|
+
return res;
|
|
1028
|
+
};
|
|
1029
|
+
const openBillingPortal = async (params) => {
|
|
1030
|
+
let defaultParams = {
|
|
1031
|
+
openInNewTab: false
|
|
1032
|
+
};
|
|
1033
|
+
let finalParams = {
|
|
1034
|
+
...defaultParams,
|
|
1035
|
+
...params
|
|
1036
|
+
};
|
|
1037
|
+
const res = await client.openBillingPortal(finalParams);
|
|
1038
|
+
if (res.error) {
|
|
1039
|
+
return res;
|
|
1040
|
+
}
|
|
1041
|
+
let data = res.data;
|
|
1042
|
+
if (data?.url && typeof window !== "undefined") {
|
|
1043
|
+
if (finalParams.openInNewTab) {
|
|
1044
|
+
window.open(data.url, "_blank");
|
|
1045
|
+
} else {
|
|
1046
|
+
window.open(data.url, "_self");
|
|
1047
|
+
}
|
|
1048
|
+
return res;
|
|
1049
|
+
} else {
|
|
1050
|
+
return res;
|
|
1051
|
+
}
|
|
1052
|
+
};
|
|
1053
|
+
return {
|
|
1054
|
+
attach,
|
|
1055
|
+
check,
|
|
1056
|
+
track,
|
|
1057
|
+
cancel,
|
|
1058
|
+
openBillingPortal
|
|
1059
|
+
};
|
|
1060
|
+
};
|
|
1061
|
+
|
|
1062
|
+
// src/libraries/react/hooks/handleAllowed.ts
|
|
1063
|
+
var getCusFeature = ({
|
|
1064
|
+
customer,
|
|
1065
|
+
featureId,
|
|
1066
|
+
requiredBalance = 1
|
|
1067
|
+
}) => {
|
|
1068
|
+
let creditSchema = Object.values(customer.features).find((f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId));
|
|
1069
|
+
if (creditSchema) {
|
|
1070
|
+
let schemaItem = creditSchema.credit_schema?.find((c) => c.feature_id === featureId);
|
|
1071
|
+
return {
|
|
1072
|
+
feature: creditSchema,
|
|
1073
|
+
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1074
|
+
};
|
|
1075
|
+
}
|
|
1076
|
+
return {
|
|
1077
|
+
cusFeature: customer.features[featureId],
|
|
1078
|
+
requiredBalance
|
|
1079
|
+
};
|
|
1080
|
+
};
|
|
1081
|
+
var handleFeatureAllowed = ({ customer, params }) => {
|
|
1082
|
+
let { cusFeature, requiredBalance } = getCusFeature({ customer, featureId: params.featureId });
|
|
1083
|
+
if (!cusFeature) return false;
|
|
1084
|
+
if (cusFeature.type == "static") return true;
|
|
1085
|
+
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1086
|
+
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1087
|
+
};
|
|
1088
|
+
var handleAllowed = ({ customer, params }) => {
|
|
1089
|
+
if (!customer) return false;
|
|
1090
|
+
if (!params.featureId && !params.productId) {
|
|
1091
|
+
throw new Error("allowed() requires either featureId or productId");
|
|
1092
|
+
}
|
|
1093
|
+
if (params.featureId) {
|
|
1094
|
+
return handleFeatureAllowed({ customer, params });
|
|
1095
|
+
}
|
|
1096
|
+
if (params.productId) {
|
|
1097
|
+
let product = customer.products.find((p) => p.id == params.productId);
|
|
1098
|
+
if (!product) return false;
|
|
1099
|
+
let status = product.status;
|
|
1100
|
+
if (status == "scheduled") return false;
|
|
1101
|
+
return true;
|
|
1102
|
+
}
|
|
1103
|
+
return false;
|
|
1104
|
+
};
|
|
1105
|
+
|
|
1106
|
+
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
1107
|
+
var emptyDefaultFunctions = {
|
|
1108
|
+
attach: "",
|
|
1109
|
+
check: "",
|
|
1110
|
+
track: "",
|
|
1111
|
+
cancel: "",
|
|
1112
|
+
openBillingPortal: ""
|
|
1113
|
+
};
|
|
1114
|
+
var useCustomerBase = ({
|
|
1115
|
+
params,
|
|
1116
|
+
AutumnContext: AutumnContext2,
|
|
1117
|
+
client
|
|
1118
|
+
}) => {
|
|
1119
|
+
const queryKey = ["customer"];
|
|
1120
|
+
let context;
|
|
1121
|
+
if (AutumnContext2) {
|
|
1122
|
+
context = useAutumnContext({ AutumnContext: AutumnContext2, name: "useCustomer" });
|
|
1123
|
+
}
|
|
1124
|
+
if (!client) {
|
|
1125
|
+
client = context.client;
|
|
1126
|
+
}
|
|
1127
|
+
const fetchCustomer = async () => {
|
|
1128
|
+
const { data, error: error2 } = await client.createCustomer({
|
|
1129
|
+
errorOnNotFound: params?.errorOnNotFound,
|
|
1130
|
+
expand: params?.expand
|
|
1131
|
+
});
|
|
1132
|
+
if (error2) {
|
|
1133
|
+
throw error2;
|
|
1134
|
+
}
|
|
1135
|
+
if (!data) {
|
|
1136
|
+
return null;
|
|
1137
|
+
}
|
|
1138
|
+
return data;
|
|
1139
|
+
};
|
|
1140
|
+
const { data: customer, error, isLoading, mutate } = (0, import_swr2.default)(queryKey, fetchCustomer, {
|
|
1141
|
+
fallbackData: null,
|
|
1142
|
+
onErrorRetry: (error2, key, config) => {
|
|
1143
|
+
if (error2.code == "entity_not_found") {
|
|
1144
|
+
return false;
|
|
1145
|
+
}
|
|
1146
|
+
return true;
|
|
1147
|
+
}
|
|
1148
|
+
});
|
|
1149
|
+
let autumnFunctions = emptyDefaultFunctions;
|
|
1150
|
+
if (AutumnContext2) {
|
|
1151
|
+
autumnFunctions = useAutumnBase({ AutumnContext: AutumnContext2 });
|
|
1152
|
+
}
|
|
1153
|
+
return {
|
|
1154
|
+
customer: error ? null : customer,
|
|
1155
|
+
isLoading,
|
|
1156
|
+
error,
|
|
1157
|
+
refetch: mutate,
|
|
1158
|
+
...autumnFunctions,
|
|
1159
|
+
createEntity: client.entities.create,
|
|
1160
|
+
createReferralCode: client.referrals.createCode,
|
|
1161
|
+
redeemReferralCode: client.referrals.redeemCode,
|
|
1162
|
+
allowed: (params2) => handleAllowed({ customer, params: params2 })
|
|
1163
|
+
};
|
|
1164
|
+
};
|
|
1165
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
1166
|
+
0 && (module.exports = {
|
|
1167
|
+
useCustomerBase
|
|
1168
|
+
});
|