@rechargeapps/storefront-client 2.6.1 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/cjs/api/address.js.map +1 -1
  2. package/dist/cjs/api/auth.js +1 -1
  3. package/dist/cjs/api/auth.js.map +1 -1
  4. package/dist/cjs/api/bundle.js +0 -1
  5. package/dist/cjs/api/bundle.js.map +1 -1
  6. package/dist/cjs/api/bundleData.js +1 -1
  7. package/dist/cjs/api/bundleData.js.map +1 -1
  8. package/dist/cjs/api/cdn.js.map +1 -1
  9. package/dist/cjs/api/charge.js.map +1 -1
  10. package/dist/cjs/api/collection.js.map +1 -1
  11. package/dist/cjs/api/credit.js.map +1 -1
  12. package/dist/cjs/api/customer.js.map +1 -1
  13. package/dist/cjs/api/customerSurveys.js.map +1 -1
  14. package/dist/cjs/api/flow.js.map +1 -1
  15. package/dist/cjs/api/gift.js.map +1 -1
  16. package/dist/cjs/api/membership.js.map +1 -1
  17. package/dist/cjs/api/membershipProgram.js.map +1 -1
  18. package/dist/cjs/api/metafield.js.map +1 -1
  19. package/dist/cjs/api/onetime.js.map +1 -1
  20. package/dist/cjs/api/order.js.map +1 -1
  21. package/dist/cjs/api/paymentMethod.js.map +1 -1
  22. package/dist/cjs/api/plan.js.map +1 -1
  23. package/dist/cjs/api/product.js.map +1 -1
  24. package/dist/cjs/api/store.js.map +1 -1
  25. package/dist/cjs/api/subscription.js.map +1 -1
  26. package/dist/cjs/api/tieredDiscount.js +0 -6
  27. package/dist/cjs/api/tieredDiscount.js.map +1 -1
  28. package/dist/cjs/constants/api.js.map +1 -1
  29. package/dist/cjs/mappers/cdn.js.map +1 -1
  30. package/dist/cjs/mappers/subscription.js.map +1 -1
  31. package/dist/cjs/mappers/utils.js.map +1 -1
  32. package/dist/cjs/utils/bundle.js +28 -51
  33. package/dist/cjs/utils/bundle.js.map +1 -1
  34. package/dist/cjs/utils/bundleData.js +4 -8
  35. package/dist/cjs/utils/bundleData.js.map +1 -1
  36. package/dist/cjs/utils/error.js.map +1 -1
  37. package/dist/cjs/utils/id.js.map +1 -1
  38. package/dist/cjs/utils/init.js.map +1 -1
  39. package/dist/cjs/utils/loadSpreedlyScript.js +34 -20
  40. package/dist/cjs/utils/loadSpreedlyScript.js.map +1 -1
  41. package/dist/cjs/utils/options.js.map +1 -1
  42. package/dist/cjs/utils/request.js +1 -1
  43. package/dist/cjs/utils/request.js.map +1 -1
  44. package/dist/cjs/utils/url.js.map +1 -1
  45. package/dist/esm/api/address.js +1 -1
  46. package/dist/esm/api/address.js.map +1 -1
  47. package/dist/esm/api/auth.js +1 -1
  48. package/dist/esm/api/auth.js.map +1 -1
  49. package/dist/esm/api/bundle.js +1 -2
  50. package/dist/esm/api/bundle.js.map +1 -1
  51. package/dist/esm/api/bundleData.js +1 -1
  52. package/dist/esm/api/bundleData.js.map +1 -1
  53. package/dist/esm/api/cdn.js.map +1 -1
  54. package/dist/esm/api/charge.js.map +1 -1
  55. package/dist/esm/api/collection.js.map +1 -1
  56. package/dist/esm/api/credit.js.map +1 -1
  57. package/dist/esm/api/customer.js +1 -1
  58. package/dist/esm/api/customer.js.map +1 -1
  59. package/dist/esm/api/customerSurveys.js.map +1 -1
  60. package/dist/esm/api/flow.js.map +1 -1
  61. package/dist/esm/api/gift.js.map +1 -1
  62. package/dist/esm/api/membership.js.map +1 -1
  63. package/dist/esm/api/membershipProgram.js.map +1 -1
  64. package/dist/esm/api/metafield.js.map +1 -1
  65. package/dist/esm/api/onetime.js.map +1 -1
  66. package/dist/esm/api/order.js.map +1 -1
  67. package/dist/esm/api/paymentMethod.js.map +1 -1
  68. package/dist/esm/api/plan.js.map +1 -1
  69. package/dist/esm/api/product.js.map +1 -1
  70. package/dist/esm/api/store.js.map +1 -1
  71. package/dist/esm/api/subscription.js.map +1 -1
  72. package/dist/esm/api/tieredDiscount.js +0 -6
  73. package/dist/esm/api/tieredDiscount.js.map +1 -1
  74. package/dist/esm/constants/api.js.map +1 -1
  75. package/dist/esm/mappers/cdn.js.map +1 -1
  76. package/dist/esm/mappers/subscription.js.map +1 -1
  77. package/dist/esm/mappers/utils.js.map +1 -1
  78. package/dist/esm/utils/bundle.js +29 -52
  79. package/dist/esm/utils/bundle.js.map +1 -1
  80. package/dist/esm/utils/bundleData.js +4 -8
  81. package/dist/esm/utils/bundleData.js.map +1 -1
  82. package/dist/esm/utils/error.js.map +1 -1
  83. package/dist/esm/utils/id.js.map +1 -1
  84. package/dist/esm/utils/init.js.map +1 -1
  85. package/dist/esm/utils/loadSpreedlyScript.js +34 -20
  86. package/dist/esm/utils/loadSpreedlyScript.js.map +1 -1
  87. package/dist/esm/utils/options.js.map +1 -1
  88. package/dist/esm/utils/request.js +2 -2
  89. package/dist/esm/utils/request.js.map +1 -1
  90. package/dist/esm/utils/url.js.map +1 -1
  91. package/dist/index.d.ts +0 -6
  92. package/dist/umd/recharge-client.min.js +2 -2
  93. package/package.json +11 -10
@@ -1 +1 @@
1
- {"version":3,"file":"membership.js","sources":["../../../src/api/membership.ts"],"sourcesContent":["import {\n ActivateMembershipRequest,\n CancelMembershipRequest,\n ChangeMembershipRequest,\n MembershipListParams,\n MembershipListResponse,\n MembershipResponse,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\nimport { encodePathSegment } from '../utils/url';\n\n/** @internal Retrieves membership information for passed in id */\nexport async function getMembership(session: Session, id: string | number) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { membership } = await rechargeApiRequest<MembershipResponse>(\n 'get',\n `/memberships`,\n { id },\n getInternalSession(session, 'getMembership')\n );\n return membership;\n}\n\n/** @internal Retrieves a list of memberships */\nexport function listMemberships(session: Session, query?: MembershipListParams) {\n return rechargeApiRequest<MembershipListResponse>(\n 'get',\n `/memberships`,\n { query },\n getInternalSession(session, 'listMemberships')\n );\n}\n\n/** @internal Cancels a membership */\nexport async function cancelMembership(session: Session, id: string | number, cancelRequest: CancelMembershipRequest) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { membership } = await rechargeApiRequest<MembershipResponse>(\n 'post',\n `/memberships/${encodePathSegment(id)}/cancel`,\n {\n data: cancelRequest,\n },\n getInternalSession(session, 'cancelMembership')\n );\n return membership;\n}\n\n/** @internal Activates a membership */\nexport async function activateMembership(\n session: Session,\n id: string | number,\n activateRequest: ActivateMembershipRequest\n) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { membership } = await rechargeApiRequest<MembershipResponse>(\n 'post',\n `/memberships/${encodePathSegment(id)}/activate`,\n {\n data: activateRequest,\n },\n getInternalSession(session, 'activateMembership')\n );\n return membership;\n}\n\n/** @internal changes a membership program/product*/\nexport async function changeMembership(session: Session, id: string | number, changeRequest: ChangeMembershipRequest) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { membership } = await rechargeApiRequest<MembershipResponse>(\n 'post',\n `/memberships/${encodePathSegment(id)}/change`,\n {\n data: changeRequest,\n },\n getInternalSession(session, 'changeMembership')\n );\n return membership;\n}\n"],"names":["rechargeApiRequest","getInternalSession","encodePathSegment"],"mappings":";;;;;AAasB,eAAA,aAAA,CAAc,SAAkB,EAAqB,EAAA;AACzE,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,UAAW,EAAA,GAAI,MAAMA,0BAAA;AAAA,IAC3B,KAAA;AAAA,IACA,CAAA,YAAA,CAAA;AAAA,IACA,EAAE,EAAG,EAAA;AAAA,IACLC,0BAAA,CAAmB,SAAS,eAAe,CAAA;AAAA,GAC7C,CAAA;AACA,EAAO,OAAA,UAAA,CAAA;AACT,CAAA;AAGgB,SAAA,eAAA,CAAgB,SAAkB,KAA8B,EAAA;AAC9E,EAAO,OAAAD,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,YAAA,CAAA;AAAA,IACA,EAAE,KAAM,EAAA;AAAA,IACRC,0BAAA,CAAmB,SAAS,iBAAiB,CAAA;AAAA,GAC/C,CAAA;AACF,CAAA;AAGsB,eAAA,gBAAA,CAAiB,OAAkB,EAAA,EAAA,EAAqB,aAAwC,EAAA;AACpH,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,UAAW,EAAA,GAAI,MAAMD,0BAAA;AAAA,IAC3B,MAAA;AAAA,IACA,CAAA,aAAA,EAAgBE,qBAAkB,CAAA,EAAE,CAAC,CAAA,OAAA,CAAA;AAAA,IACrC;AAAA,MACE,IAAM,EAAA,aAAA;AAAA,KACR;AAAA,IACAD,0BAAA,CAAmB,SAAS,kBAAkB,CAAA;AAAA,GAChD,CAAA;AACA,EAAO,OAAA,UAAA,CAAA;AACT,CAAA;AAGsB,eAAA,kBAAA,CACpB,OACA,EAAA,EAAA,EACA,eACA,EAAA;AACA,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,UAAW,EAAA,GAAI,MAAMD,0BAAA;AAAA,IAC3B,MAAA;AAAA,IACA,CAAA,aAAA,EAAgBE,qBAAkB,CAAA,EAAE,CAAC,CAAA,SAAA,CAAA;AAAA,IACrC;AAAA,MACE,IAAM,EAAA,eAAA;AAAA,KACR;AAAA,IACAD,0BAAA,CAAmB,SAAS,oBAAoB,CAAA;AAAA,GAClD,CAAA;AACA,EAAO,OAAA,UAAA,CAAA;AACT,CAAA;AAGsB,eAAA,gBAAA,CAAiB,OAAkB,EAAA,EAAA,EAAqB,aAAwC,EAAA;AACpH,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,UAAW,EAAA,GAAI,MAAMD,0BAAA;AAAA,IAC3B,MAAA;AAAA,IACA,CAAA,aAAA,EAAgBE,qBAAkB,CAAA,EAAE,CAAC,CAAA,OAAA,CAAA;AAAA,IACrC;AAAA,MACE,IAAM,EAAA,aAAA;AAAA,KACR;AAAA,IACAD,0BAAA,CAAmB,SAAS,kBAAkB,CAAA;AAAA,GAChD,CAAA;AACA,EAAO,OAAA,UAAA,CAAA;AACT;;;;;;;;"}
1
+ {"version":3,"file":"membership.js","sources":["../../../src/api/membership.ts"],"sourcesContent":["import {\n ActivateMembershipRequest,\n CancelMembershipRequest,\n ChangeMembershipRequest,\n MembershipListParams,\n MembershipListResponse,\n MembershipResponse,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\nimport { encodePathSegment } from '../utils/url';\n\n/** @internal Retrieves membership information for passed in id */\nexport async function getMembership(session: Session, id: string | number) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { membership } = await rechargeApiRequest<MembershipResponse>(\n 'get',\n `/memberships`,\n { id },\n getInternalSession(session, 'getMembership')\n );\n return membership;\n}\n\n/** @internal Retrieves a list of memberships */\nexport function listMemberships(session: Session, query?: MembershipListParams) {\n return rechargeApiRequest<MembershipListResponse>(\n 'get',\n `/memberships`,\n { query },\n getInternalSession(session, 'listMemberships')\n );\n}\n\n/** @internal Cancels a membership */\nexport async function cancelMembership(session: Session, id: string | number, cancelRequest: CancelMembershipRequest) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { membership } = await rechargeApiRequest<MembershipResponse>(\n 'post',\n `/memberships/${encodePathSegment(id)}/cancel`,\n {\n data: cancelRequest,\n },\n getInternalSession(session, 'cancelMembership')\n );\n return membership;\n}\n\n/** @internal Activates a membership */\nexport async function activateMembership(\n session: Session,\n id: string | number,\n activateRequest: ActivateMembershipRequest\n) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { membership } = await rechargeApiRequest<MembershipResponse>(\n 'post',\n `/memberships/${encodePathSegment(id)}/activate`,\n {\n data: activateRequest,\n },\n getInternalSession(session, 'activateMembership')\n );\n return membership;\n}\n\n/** @internal changes a membership program/product*/\nexport async function changeMembership(session: Session, id: string | number, changeRequest: ChangeMembershipRequest) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { membership } = await rechargeApiRequest<MembershipResponse>(\n 'post',\n `/memberships/${encodePathSegment(id)}/change`,\n {\n data: changeRequest,\n },\n getInternalSession(session, 'changeMembership')\n );\n return membership;\n}\n"],"names":["rechargeApiRequest","getInternalSession","encodePathSegment"],"mappings":";;;;;AAaA,eAAsB,aAAA,CAAc,SAAkB,EAAA,EAAqB;AACzE,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,UAAA,EAAW,GAAI,MAAMA,0BAAA;AAAA,IAC3B,KAAA;AAAA,IACA,CAAA,YAAA,CAAA;AAAA,IACA,EAAE,EAAA,EAAG;AAAA,IACLC,0BAAA,CAAmB,SAAS,eAAe;AAAA,GAC7C;AACA,EAAA,OAAO,UAAA;AACT;AAGO,SAAS,eAAA,CAAgB,SAAkB,KAAA,EAA8B;AAC9E,EAAA,OAAOD,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,YAAA,CAAA;AAAA,IACA,EAAE,KAAA,EAAM;AAAA,IACRC,0BAAA,CAAmB,SAAS,iBAAiB;AAAA,GAC/C;AACF;AAGA,eAAsB,gBAAA,CAAiB,OAAA,EAAkB,EAAA,EAAqB,aAAA,EAAwC;AACpH,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,UAAA,EAAW,GAAI,MAAMD,0BAAA;AAAA,IAC3B,MAAA;AAAA,IACA,CAAA,aAAA,EAAgBE,qBAAA,CAAkB,EAAE,CAAC,CAAA,OAAA,CAAA;AAAA,IACrC;AAAA,MACE,IAAA,EAAM;AAAA,KACR;AAAA,IACAD,0BAAA,CAAmB,SAAS,kBAAkB;AAAA,GAChD;AACA,EAAA,OAAO,UAAA;AACT;AAGA,eAAsB,kBAAA,CACpB,OAAA,EACA,EAAA,EACA,eAAA,EACA;AACA,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,UAAA,EAAW,GAAI,MAAMD,0BAAA;AAAA,IAC3B,MAAA;AAAA,IACA,CAAA,aAAA,EAAgBE,qBAAA,CAAkB,EAAE,CAAC,CAAA,SAAA,CAAA;AAAA,IACrC;AAAA,MACE,IAAA,EAAM;AAAA,KACR;AAAA,IACAD,0BAAA,CAAmB,SAAS,oBAAoB;AAAA,GAClD;AACA,EAAA,OAAO,UAAA;AACT;AAGA,eAAsB,gBAAA,CAAiB,OAAA,EAAkB,EAAA,EAAqB,aAAA,EAAwC;AACpH,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,UAAA,EAAW,GAAI,MAAMD,0BAAA;AAAA,IAC3B,MAAA;AAAA,IACA,CAAA,aAAA,EAAgBE,qBAAA,CAAkB,EAAE,CAAC,CAAA,OAAA,CAAA;AAAA,IACrC;AAAA,MACE,IAAA,EAAM;AAAA,KACR;AAAA,IACAD,0BAAA,CAAmB,SAAS,kBAAkB;AAAA,GAChD;AACA,EAAA,OAAO,UAAA;AACT;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"membershipProgram.js","sources":["../../../src/api/membershipProgram.ts"],"sourcesContent":["import {\n MembershipProgramListParams,\n MembershipProgramListResponse,\n MembershipProgramResponse,\n GetMembershipProgramOptions,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\n/** @internal Retrieves membership program information for passed in id */\nexport async function getMembershipProgram(\n session: Session,\n id: string | number,\n options?: GetMembershipProgramOptions\n) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { membership_program } = await rechargeApiRequest<MembershipProgramResponse>(\n 'get',\n `/membership_programs`,\n { id, query: { include: options?.include } },\n getInternalSession(session, 'getMembershipProgram')\n );\n return membership_program;\n}\n\n/** @internal Retrieves a list of memberships */\nexport function listMembershipPrograms(session: Session, query?: MembershipProgramListParams) {\n return rechargeApiRequest<MembershipProgramListResponse>(\n 'get',\n `/membership_programs`,\n { query },\n getInternalSession(session, 'listMembershipPrograms')\n );\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAUsB,eAAA,oBAAA,CACpB,OACA,EAAA,EAAA,EACA,OACA,EAAA;AACA,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,kBAAmB,EAAA,GAAI,MAAMA,0BAAA;AAAA,IACnC,KAAA;AAAA,IACA,CAAA,oBAAA,CAAA;AAAA,IACA,EAAE,EAAI,EAAA,KAAA,EAAO,EAAE,OAAS,EAAA,OAAA,EAAS,SAAU,EAAA;AAAA,IAC3CC,0BAAA,CAAmB,SAAS,sBAAsB,CAAA;AAAA,GACpD,CAAA;AACA,EAAO,OAAA,kBAAA,CAAA;AACT,CAAA;AAGgB,SAAA,sBAAA,CAAuB,SAAkB,KAAqC,EAAA;AAC5F,EAAO,OAAAD,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,oBAAA,CAAA;AAAA,IACA,EAAE,KAAM,EAAA;AAAA,IACRC,0BAAA,CAAmB,SAAS,wBAAwB,CAAA;AAAA,GACtD,CAAA;AACF;;;;;"}
1
+ {"version":3,"file":"membershipProgram.js","sources":["../../../src/api/membershipProgram.ts"],"sourcesContent":["import {\n MembershipProgramListParams,\n MembershipProgramListResponse,\n MembershipProgramResponse,\n GetMembershipProgramOptions,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\n/** @internal Retrieves membership program information for passed in id */\nexport async function getMembershipProgram(\n session: Session,\n id: string | number,\n options?: GetMembershipProgramOptions\n) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { membership_program } = await rechargeApiRequest<MembershipProgramResponse>(\n 'get',\n `/membership_programs`,\n { id, query: { include: options?.include } },\n getInternalSession(session, 'getMembershipProgram')\n );\n return membership_program;\n}\n\n/** @internal Retrieves a list of memberships */\nexport function listMembershipPrograms(session: Session, query?: MembershipProgramListParams) {\n return rechargeApiRequest<MembershipProgramListResponse>(\n 'get',\n `/membership_programs`,\n { query },\n getInternalSession(session, 'listMembershipPrograms')\n );\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAUA,eAAsB,oBAAA,CACpB,OAAA,EACA,EAAA,EACA,OAAA,EACA;AACA,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,kBAAA,EAAmB,GAAI,MAAMA,0BAAA;AAAA,IACnC,KAAA;AAAA,IACA,CAAA,oBAAA,CAAA;AAAA,IACA,EAAE,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,OAAA,EAAS,SAAQ,EAAE;AAAA,IAC3CC,0BAAA,CAAmB,SAAS,sBAAsB;AAAA,GACpD;AACA,EAAA,OAAO,kBAAA;AACT;AAGO,SAAS,sBAAA,CAAuB,SAAkB,KAAA,EAAqC;AAC5F,EAAA,OAAOD,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,oBAAA,CAAA;AAAA,IACA,EAAE,KAAA,EAAM;AAAA,IACRC,0BAAA,CAAmB,SAAS,wBAAwB;AAAA,GACtD;AACF;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"metafield.js","sources":["../../../src/api/metafield.ts"],"sourcesContent":["import { CreateMetafieldRequest, Metafield, UpdateMetafieldRequest, Session } from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\nexport async function createMetafield(session: Session, createRequest: CreateMetafieldRequest): Promise<Metafield> {\n const { metafield } = await rechargeApiRequest<{ metafield: Metafield }>(\n 'post',\n `/metafields`,\n {\n data: { metafield: createRequest },\n },\n getInternalSession(session, 'createMetafield')\n );\n return metafield;\n}\n\nexport async function updateMetafield(\n session: Session,\n id: string | number,\n updateRequest: UpdateMetafieldRequest\n): Promise<Metafield> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { metafield } = await rechargeApiRequest<{ metafield: Metafield }>(\n 'put',\n `/metafields`,\n {\n id,\n data: { metafield: updateRequest },\n },\n getInternalSession(session, 'updateMetafield')\n );\n return metafield;\n}\n\nexport function deleteMetafield(session: Session, id: string | number): Promise<void> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n return rechargeApiRequest<void>(\n 'delete',\n `/metafields`,\n {\n id,\n },\n getInternalSession(session, 'deleteMetafield')\n );\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAGsB,eAAA,eAAA,CAAgB,SAAkB,aAA2D,EAAA;AACjH,EAAM,MAAA,EAAE,SAAU,EAAA,GAAI,MAAMA,0BAAA;AAAA,IAC1B,MAAA;AAAA,IACA,CAAA,WAAA,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM,EAAE,SAAA,EAAW,aAAc,EAAA;AAAA,KACnC;AAAA,IACAC,0BAAA,CAAmB,SAAS,iBAAiB,CAAA;AAAA,GAC/C,CAAA;AACA,EAAO,OAAA,SAAA,CAAA;AACT,CAAA;AAEsB,eAAA,eAAA,CACpB,OACA,EAAA,EAAA,EACA,aACoB,EAAA;AACpB,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,SAAU,EAAA,GAAI,MAAMD,0BAAA;AAAA,IAC1B,KAAA;AAAA,IACA,CAAA,WAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,MACA,IAAA,EAAM,EAAE,SAAA,EAAW,aAAc,EAAA;AAAA,KACnC;AAAA,IACAC,0BAAA,CAAmB,SAAS,iBAAiB,CAAA;AAAA,GAC/C,CAAA;AACA,EAAO,OAAA,SAAA,CAAA;AACT,CAAA;AAEgB,SAAA,eAAA,CAAgB,SAAkB,EAAoC,EAAA;AACpF,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAO,OAAAD,0BAAA;AAAA,IACL,QAAA;AAAA,IACA,CAAA,WAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,iBAAiB,CAAA;AAAA,GAC/C,CAAA;AACF;;;;;;"}
1
+ {"version":3,"file":"metafield.js","sources":["../../../src/api/metafield.ts"],"sourcesContent":["import { CreateMetafieldRequest, Metafield, UpdateMetafieldRequest, Session } from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\nexport async function createMetafield(session: Session, createRequest: CreateMetafieldRequest): Promise<Metafield> {\n const { metafield } = await rechargeApiRequest<{ metafield: Metafield }>(\n 'post',\n `/metafields`,\n {\n data: { metafield: createRequest },\n },\n getInternalSession(session, 'createMetafield')\n );\n return metafield;\n}\n\nexport async function updateMetafield(\n session: Session,\n id: string | number,\n updateRequest: UpdateMetafieldRequest\n): Promise<Metafield> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { metafield } = await rechargeApiRequest<{ metafield: Metafield }>(\n 'put',\n `/metafields`,\n {\n id,\n data: { metafield: updateRequest },\n },\n getInternalSession(session, 'updateMetafield')\n );\n return metafield;\n}\n\nexport function deleteMetafield(session: Session, id: string | number): Promise<void> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n return rechargeApiRequest<void>(\n 'delete',\n `/metafields`,\n {\n id,\n },\n getInternalSession(session, 'deleteMetafield')\n );\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAGA,eAAsB,eAAA,CAAgB,SAAkB,aAAA,EAA2D;AACjH,EAAA,MAAM,EAAE,SAAA,EAAU,GAAI,MAAMA,0BAAA;AAAA,IAC1B,MAAA;AAAA,IACA,CAAA,WAAA,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM,EAAE,SAAA,EAAW,aAAA;AAAc,KACnC;AAAA,IACAC,0BAAA,CAAmB,SAAS,iBAAiB;AAAA,GAC/C;AACA,EAAA,OAAO,SAAA;AACT;AAEA,eAAsB,eAAA,CACpB,OAAA,EACA,EAAA,EACA,aAAA,EACoB;AACpB,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,SAAA,EAAU,GAAI,MAAMD,0BAAA;AAAA,IAC1B,KAAA;AAAA,IACA,CAAA,WAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,MACA,IAAA,EAAM,EAAE,SAAA,EAAW,aAAA;AAAc,KACnC;AAAA,IACAC,0BAAA,CAAmB,SAAS,iBAAiB;AAAA,GAC/C;AACA,EAAA,OAAO,SAAA;AACT;AAEO,SAAS,eAAA,CAAgB,SAAkB,EAAA,EAAoC;AACpF,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,OAAOD,0BAAA;AAAA,IACL,QAAA;AAAA,IACA,CAAA,WAAA,CAAA;AAAA,IACA;AAAA,MACE;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,iBAAiB;AAAA,GAC/C;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"onetime.js","sources":["../../../src/api/onetime.ts"],"sourcesContent":["import {\n CreateOnetimeRequest,\n Onetime,\n OnetimeListParams,\n OnetimesResponse,\n UpdateOnetimeRequest,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\nexport async function getOnetime(session: Session, id: string | number): Promise<Onetime> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { onetime } = await rechargeApiRequest<{ onetime: Onetime }>(\n 'get',\n `/onetimes`,\n {\n id,\n },\n getInternalSession(session, 'getOnetime')\n );\n return onetime;\n}\n\nexport function listOnetimes(session: Session, query?: OnetimeListParams): Promise<OnetimesResponse> {\n return rechargeApiRequest<OnetimesResponse>(\n 'get',\n `/onetimes`,\n { query },\n getInternalSession(session, 'listOnetimes')\n );\n}\n\nexport async function createOnetime(session: Session, createRequest: CreateOnetimeRequest): Promise<Onetime> {\n const { onetime } = await rechargeApiRequest<{ onetime: Onetime }>(\n 'post',\n `/onetimes`,\n {\n data: createRequest,\n },\n getInternalSession(session, 'createOnetime')\n );\n return onetime;\n}\n\nexport async function updateOnetime(\n session: Session,\n id: string | number,\n updateRequest: UpdateOnetimeRequest\n): Promise<Onetime> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { onetime } = await rechargeApiRequest<{ onetime: Onetime }>(\n 'put',\n `/onetimes`,\n {\n id,\n data: updateRequest,\n },\n getInternalSession(session, 'updateOnetime')\n );\n return onetime;\n}\n\nexport function deleteOnetime(session: Session, id: string | number): Promise<void> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n return rechargeApiRequest<void>(\n 'delete',\n `/onetimes`,\n {\n id,\n },\n getInternalSession(session, 'deleteOnetime')\n );\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAUsB,eAAA,UAAA,CAAW,SAAkB,EAAuC,EAAA;AACxF,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,OAAQ,EAAA,GAAI,MAAMA,0BAAA;AAAA,IACxB,KAAA;AAAA,IACA,CAAA,SAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,YAAY,CAAA;AAAA,GAC1C,CAAA;AACA,EAAO,OAAA,OAAA,CAAA;AACT,CAAA;AAEgB,SAAA,YAAA,CAAa,SAAkB,KAAsD,EAAA;AACnG,EAAO,OAAAD,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,SAAA,CAAA;AAAA,IACA,EAAE,KAAM,EAAA;AAAA,IACRC,0BAAA,CAAmB,SAAS,cAAc,CAAA;AAAA,GAC5C,CAAA;AACF,CAAA;AAEsB,eAAA,aAAA,CAAc,SAAkB,aAAuD,EAAA;AAC3G,EAAM,MAAA,EAAE,OAAQ,EAAA,GAAI,MAAMD,0BAAA;AAAA,IACxB,MAAA;AAAA,IACA,CAAA,SAAA,CAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAA,aAAA;AAAA,KACR;AAAA,IACAC,0BAAA,CAAmB,SAAS,eAAe,CAAA;AAAA,GAC7C,CAAA;AACA,EAAO,OAAA,OAAA,CAAA;AACT,CAAA;AAEsB,eAAA,aAAA,CACpB,OACA,EAAA,EAAA,EACA,aACkB,EAAA;AAClB,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,OAAQ,EAAA,GAAI,MAAMD,0BAAA;AAAA,IACxB,KAAA;AAAA,IACA,CAAA,SAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,MACA,IAAM,EAAA,aAAA;AAAA,KACR;AAAA,IACAC,0BAAA,CAAmB,SAAS,eAAe,CAAA;AAAA,GAC7C,CAAA;AACA,EAAO,OAAA,OAAA,CAAA;AACT,CAAA;AAEgB,SAAA,aAAA,CAAc,SAAkB,EAAoC,EAAA;AAClF,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAO,OAAAD,0BAAA;AAAA,IACL,QAAA;AAAA,IACA,CAAA,SAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,eAAe,CAAA;AAAA,GAC7C,CAAA;AACF;;;;;;;;"}
1
+ {"version":3,"file":"onetime.js","sources":["../../../src/api/onetime.ts"],"sourcesContent":["import {\n CreateOnetimeRequest,\n Onetime,\n OnetimeListParams,\n OnetimesResponse,\n UpdateOnetimeRequest,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\nexport async function getOnetime(session: Session, id: string | number): Promise<Onetime> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { onetime } = await rechargeApiRequest<{ onetime: Onetime }>(\n 'get',\n `/onetimes`,\n {\n id,\n },\n getInternalSession(session, 'getOnetime')\n );\n return onetime;\n}\n\nexport function listOnetimes(session: Session, query?: OnetimeListParams): Promise<OnetimesResponse> {\n return rechargeApiRequest<OnetimesResponse>(\n 'get',\n `/onetimes`,\n { query },\n getInternalSession(session, 'listOnetimes')\n );\n}\n\nexport async function createOnetime(session: Session, createRequest: CreateOnetimeRequest): Promise<Onetime> {\n const { onetime } = await rechargeApiRequest<{ onetime: Onetime }>(\n 'post',\n `/onetimes`,\n {\n data: createRequest,\n },\n getInternalSession(session, 'createOnetime')\n );\n return onetime;\n}\n\nexport async function updateOnetime(\n session: Session,\n id: string | number,\n updateRequest: UpdateOnetimeRequest\n): Promise<Onetime> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { onetime } = await rechargeApiRequest<{ onetime: Onetime }>(\n 'put',\n `/onetimes`,\n {\n id,\n data: updateRequest,\n },\n getInternalSession(session, 'updateOnetime')\n );\n return onetime;\n}\n\nexport function deleteOnetime(session: Session, id: string | number): Promise<void> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n return rechargeApiRequest<void>(\n 'delete',\n `/onetimes`,\n {\n id,\n },\n getInternalSession(session, 'deleteOnetime')\n );\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAUA,eAAsB,UAAA,CAAW,SAAkB,EAAA,EAAuC;AACxF,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,MAAMA,0BAAA;AAAA,IACxB,KAAA;AAAA,IACA,CAAA,SAAA,CAAA;AAAA,IACA;AAAA,MACE;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,YAAY;AAAA,GAC1C;AACA,EAAA,OAAO,OAAA;AACT;AAEO,SAAS,YAAA,CAAa,SAAkB,KAAA,EAAsD;AACnG,EAAA,OAAOD,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,SAAA,CAAA;AAAA,IACA,EAAE,KAAA,EAAM;AAAA,IACRC,0BAAA,CAAmB,SAAS,cAAc;AAAA,GAC5C;AACF;AAEA,eAAsB,aAAA,CAAc,SAAkB,aAAA,EAAuD;AAC3G,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,MAAMD,0BAAA;AAAA,IACxB,MAAA;AAAA,IACA,CAAA,SAAA,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM;AAAA,KACR;AAAA,IACAC,0BAAA,CAAmB,SAAS,eAAe;AAAA,GAC7C;AACA,EAAA,OAAO,OAAA;AACT;AAEA,eAAsB,aAAA,CACpB,OAAA,EACA,EAAA,EACA,aAAA,EACkB;AAClB,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,MAAMD,0BAAA;AAAA,IACxB,KAAA;AAAA,IACA,CAAA,SAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,MACA,IAAA,EAAM;AAAA,KACR;AAAA,IACAC,0BAAA,CAAmB,SAAS,eAAe;AAAA,GAC7C;AACA,EAAA,OAAO,OAAA;AACT;AAEO,SAAS,aAAA,CAAc,SAAkB,EAAA,EAAoC;AAClF,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,OAAOD,0BAAA;AAAA,IACL,QAAA;AAAA,IACA,CAAA,SAAA,CAAA;AAAA,IACA;AAAA,MACE;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,eAAe;AAAA,GAC7C;AACF;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"order.js","sources":["../../../src/api/order.ts"],"sourcesContent":["import { Order, OrderListParams, OrdersResponse, Session } from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\nimport { encodePathSegment } from '../utils/url';\n\nexport async function getOrder(session: Session, id: string | number): Promise<Order> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { order } = await rechargeApiRequest<{ order: Order }>(\n 'get',\n `/orders`,\n {\n id,\n },\n getInternalSession(session, 'getOrder')\n );\n return order;\n}\n\nexport function listOrders(session: Session, query?: OrderListParams): Promise<OrdersResponse> {\n return rechargeApiRequest<OrdersResponse>('get', `/orders`, { query }, getInternalSession(session, 'listOrders'));\n}\n\nexport async function delayOrder(session: Session, id: number | string) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { order } = await rechargeApiRequest<{ order: Order }>(\n 'post',\n `/orders/${encodePathSegment(id)}/delay`,\n {},\n getInternalSession(session, 'delayOrder')\n );\n\n return order;\n}\n"],"names":["rechargeApiRequest","getInternalSession","encodePathSegment"],"mappings":";;;;;AAIsB,eAAA,QAAA,CAAS,SAAkB,EAAqC,EAAA;AACpF,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,KAAM,EAAA,GAAI,MAAMA,0BAAA;AAAA,IACtB,KAAA;AAAA,IACA,CAAA,OAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,UAAU,CAAA;AAAA,GACxC,CAAA;AACA,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AAEgB,SAAA,UAAA,CAAW,SAAkB,KAAkD,EAAA;AAC7F,EAAO,OAAAD,0BAAA,CAAmC,OAAO,CAAW,OAAA,CAAA,EAAA,EAAE,OAAS,EAAAC,0BAAA,CAAmB,OAAS,EAAA,YAAY,CAAC,CAAA,CAAA;AAClH,CAAA;AAEsB,eAAA,UAAA,CAAW,SAAkB,EAAqB,EAAA;AACtE,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,KAAM,EAAA,GAAI,MAAMD,0BAAA;AAAA,IACtB,MAAA;AAAA,IACA,CAAA,QAAA,EAAWE,qBAAkB,CAAA,EAAE,CAAC,CAAA,MAAA,CAAA;AAAA,IAChC,EAAC;AAAA,IACDD,0BAAA,CAAmB,SAAS,YAAY,CAAA;AAAA,GAC1C,CAAA;AAEA,EAAO,OAAA,KAAA,CAAA;AACT;;;;;;"}
1
+ {"version":3,"file":"order.js","sources":["../../../src/api/order.ts"],"sourcesContent":["import { Order, OrderListParams, OrdersResponse, Session } from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\nimport { encodePathSegment } from '../utils/url';\n\nexport async function getOrder(session: Session, id: string | number): Promise<Order> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { order } = await rechargeApiRequest<{ order: Order }>(\n 'get',\n `/orders`,\n {\n id,\n },\n getInternalSession(session, 'getOrder')\n );\n return order;\n}\n\nexport function listOrders(session: Session, query?: OrderListParams): Promise<OrdersResponse> {\n return rechargeApiRequest<OrdersResponse>('get', `/orders`, { query }, getInternalSession(session, 'listOrders'));\n}\n\nexport async function delayOrder(session: Session, id: number | string) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { order } = await rechargeApiRequest<{ order: Order }>(\n 'post',\n `/orders/${encodePathSegment(id)}/delay`,\n {},\n getInternalSession(session, 'delayOrder')\n );\n\n return order;\n}\n"],"names":["rechargeApiRequest","getInternalSession","encodePathSegment"],"mappings":";;;;;AAIA,eAAsB,QAAA,CAAS,SAAkB,EAAA,EAAqC;AACpF,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,MAAMA,0BAAA;AAAA,IACtB,KAAA;AAAA,IACA,CAAA,OAAA,CAAA;AAAA,IACA;AAAA,MACE;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,UAAU;AAAA,GACxC;AACA,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,UAAA,CAAW,SAAkB,KAAA,EAAkD;AAC7F,EAAA,OAAOD,0BAAA,CAAmC,OAAO,CAAA,OAAA,CAAA,EAAW,EAAE,OAAM,EAAGC,0BAAA,CAAmB,OAAA,EAAS,YAAY,CAAC,CAAA;AAClH;AAEA,eAAsB,UAAA,CAAW,SAAkB,EAAA,EAAqB;AACtE,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,MAAMD,0BAAA;AAAA,IACtB,MAAA;AAAA,IACA,CAAA,QAAA,EAAWE,qBAAA,CAAkB,EAAE,CAAC,CAAA,MAAA,CAAA;AAAA,IAChC,EAAC;AAAA,IACDD,0BAAA,CAAmB,SAAS,YAAY;AAAA,GAC1C;AAEA,EAAA,OAAO,KAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"paymentMethod.js","sources":["../../../src/api/paymentMethod.ts"],"sourcesContent":["import { loadSpreedlyScript } from '../utils/loadSpreedlyScript';\nimport {\n CardDetailsFirstNameLastName,\n CardDetailsFullName,\n CreatePaymentMethodRequest,\n GetPaymentMethodOptions,\n IsoDateString,\n PaymentFormConfig,\n PaymentFormController,\n PaymentFormEventHandlers,\n PaymentMethod,\n PaymentMethodFormOptions,\n PaymentMethodListParams,\n PaymentMethodsResponse,\n UpdatePaymentMethodRequest,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\nexport async function getPaymentMethod(\n session: Session,\n id: string | number,\n options?: GetPaymentMethodOptions\n): Promise<PaymentMethod> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { payment_method } = await rechargeApiRequest<{ payment_method: PaymentMethod }>(\n 'get',\n `/payment_methods`,\n {\n id,\n query: { include: options?.include },\n },\n getInternalSession(session, 'getPaymentMethod')\n );\n return payment_method;\n}\n\n/**\n * Create a Payment Method\n *\n * Currently, `shopify_payments` is in read-only mode and can only be managed by Shopify.\n */\nexport async function createPaymentMethod(\n session: Session,\n createRequest: CreatePaymentMethodRequest\n): Promise<PaymentMethod> {\n const { payment_method } = await rechargeApiRequest<{ payment_method: PaymentMethod }>(\n 'post',\n `/payment_methods`,\n {\n data: { ...createRequest, customer_id: session.customerId },\n },\n getInternalSession(session, 'createPaymentMethod')\n );\n return payment_method;\n}\n\n/**\n * Modify an existing Payment Method\n *\n * Currently, `shopify_payments` is in read-only mode and can only be managed by Shopify.\n */\nexport async function updatePaymentMethod(\n session: Session,\n id: string | number,\n updateRequest: UpdatePaymentMethodRequest\n): Promise<PaymentMethod> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { payment_method } = await rechargeApiRequest<{ payment_method: PaymentMethod }>(\n 'put',\n `/payment_methods`,\n {\n id,\n data: updateRequest,\n },\n getInternalSession(session, 'updatePaymentMethod')\n );\n return payment_method;\n}\n\nexport function listPaymentMethods(session: Session, query?: PaymentMethodListParams): Promise<PaymentMethodsResponse> {\n return rechargeApiRequest<PaymentMethodsResponse>(\n 'get',\n `/payment_methods`,\n { query },\n getInternalSession(session, 'listPaymentMethods')\n );\n}\n\nexport async function initFrictionlessPaymentV1(\n session: Session,\n rechargePaymentMethodId?: string\n): Promise<PaymentFormController> {\n // Initialize and get environment key\n const intentResponse = await createFrictionlessPaymentIntentV1(session, rechargePaymentMethodId);\n\n const environmentKey = intentResponse.external.environment_key;\n const paymentMethodIntentId = intentResponse.payment_method_intent_id;\n const externalCustomerId = intentResponse.external_customer_id.ecommerce;\n const resourceUrl = intentResponse.external.resource_url;\n const integrityHash = intentResponse.external.integrity_hash;\n const externalPaymentMethodId = intentResponse.payment_method?.processor_payment_method_token;\n\n // Load script\n await loadSpreedlyScript(resourceUrl, integrityHash);\n\n let isInitialized = false;\n let currentToken: string | null = null;\n let tokenCallback: ((token: string) => void) | null = null;\n let pendingSubmitOptions: PaymentMethodFormOptions | null = null;\n\n const controller: PaymentFormController = {\n mount(config: PaymentFormConfig, handlers?: PaymentFormEventHandlers): void {\n if (typeof window === 'undefined' || !window.Spreedly) {\n throw new Error('Payment script failed to load');\n }\n\n // Initialize Spreedly with element IDs\n window.Spreedly!.init(environmentKey, {\n numberEl: config.numberElementId,\n cvvEl: config.cvvElementId,\n });\n\n // Set up ready handler\n window.Spreedly!.on('ready', () => {\n isInitialized = true;\n\n // Apply styles\n if (config.styles) {\n window.Spreedly!.setStyle('number', config.styles);\n window.Spreedly!.setStyle('cvv', config.styles);\n }\n\n // Apply labels\n if (config.numberLabel) {\n window.Spreedly!.setLabel('number', config.numberLabel);\n }\n if (config.cvvLabel) {\n window.Spreedly!.setLabel('cvv', config.cvvLabel);\n }\n\n // Apply placeholders\n if (config.numberPlaceholder) {\n window.Spreedly!.setPlaceholder('number', config.numberPlaceholder);\n }\n if (config.cvvPlaceholder) {\n window.Spreedly!.setPlaceholder('cvv', config.cvvPlaceholder);\n }\n\n // Apply number format\n if (config.numberFormat === 'plainFormat') {\n // Apply field types\n if (config.numberFieldType) {\n window.Spreedly!.setFieldType('number', config.numberFieldType);\n }\n if (config.cvvFieldType) {\n window.Spreedly!.setFieldType('cvv', config.cvvFieldType);\n }\n // @ts-expect-error - SpreedlyNumberFormat doesn't match\n window.Spreedly!.setNumberFormat('plainFormat');\n } else if (config.numberFormat === 'maskedFormat') {\n window.Spreedly!.setFieldType('cvv', 'text');\n window.Spreedly!.setFieldType('number', 'text');\n window.Spreedly!.setNumberFormat('maskedFormat');\n } else if (config.numberFormat === 'prettyFormat') {\n // Apply field types\n if (config.numberFieldType === 'text' || config.numberFieldType === 'tel') {\n window.Spreedly!.setFieldType('number', config.numberFieldType);\n } else {\n window.Spreedly!.setFieldType('number', 'tel');\n }\n if (config.cvvFieldType === 'text' || config.cvvFieldType === 'tel') {\n window.Spreedly!.setFieldType('cvv', config.cvvFieldType);\n } else {\n window.Spreedly!.setFieldType('cvv', 'tel');\n }\n window.Spreedly!.setNumberFormat('prettyFormat');\n } else {\n // Apply field types\n if (config.numberFieldType) {\n window.Spreedly!.setFieldType('number', config.numberFieldType);\n }\n if (config.cvvFieldType) {\n window.Spreedly!.setFieldType('cvv', config.cvvFieldType);\n }\n }\n\n handlers?.onReady?.();\n });\n\n // Set up field event handler\n window.Spreedly!.on('fieldEvent', (name, eventType, activeElement, inputProperties) => {\n handlers?.onFieldEvent?.(name, eventType, activeElement, inputProperties);\n });\n\n // Set up error handler\n window.Spreedly!.on('errors', errors => {\n handlers?.onErrors?.(errors);\n });\n\n // Set up payment method handler\n window.Spreedly!.on('paymentMethod', (token, paymentMethod) => {\n currentToken = token;\n\n handlers?.onPaymentMethod?.(token, paymentMethod);\n\n // If there's a pending submit, execute it\n if (tokenCallback) {\n currentToken = null; // Clear the token after use\n tokenCallback(token);\n tokenCallback = null;\n }\n });\n },\n\n tokenize(cardDetails: CardDetailsFirstNameLastName | CardDetailsFullName): void {\n if (!isInitialized || !window.Spreedly) {\n throw new Error('Payment form is not initialized');\n }\n\n // Normalize year to YYYY format\n let year = String(cardDetails.year);\n if (year.length === 2) {\n year = `20${year}`;\n }\n const month = String(cardDetails.month).padStart(2, '0');\n\n if ('full_name' in cardDetails) {\n window.Spreedly.tokenizeCreditCard({\n full_name: cardDetails.full_name,\n month,\n year,\n });\n } else {\n window.Spreedly.tokenizeCreditCard({\n first_name: cardDetails.first_name,\n last_name: cardDetails.last_name,\n month,\n year,\n });\n }\n },\n\n async submit(options: PaymentMethodFormOptions): Promise<PaymentMethod> {\n if (!isInitialized) {\n throw new Error('Payment form is not initialized');\n }\n\n // Check if we already have a token\n if (currentToken) {\n const token = currentToken;\n currentToken = null; // Clear the token after use\n return submitFrictionlessPaymentMethodV1(session, token, options, {\n external_payment_method_id: externalPaymentMethodId,\n payment_method_intent_id: paymentMethodIntentId,\n external_customer_id: externalCustomerId,\n });\n }\n\n // Need to tokenize first, then submit\n return new Promise((resolve, reject) => {\n pendingSubmitOptions = options;\n\n tokenCallback = async (token: string) => {\n try {\n const result = await submitFrictionlessPaymentMethodV1(session, token, pendingSubmitOptions!, {\n external_payment_method_id: externalPaymentMethodId,\n payment_method_intent_id: paymentMethodIntentId,\n external_customer_id: externalCustomerId,\n });\n resolve(result);\n } catch (error) {\n reject(error);\n } finally {\n pendingSubmitOptions = null;\n }\n };\n\n // Trigger tokenization\n this.tokenize(options.card_details);\n });\n },\n\n reset(): void {\n if (window.Spreedly) {\n window.Spreedly.reload();\n }\n currentToken = null;\n tokenCallback = null;\n pendingSubmitOptions = null;\n },\n\n unmount(): void {\n if (window.Spreedly) {\n window.Spreedly.removeHandlers();\n }\n isInitialized = false;\n currentToken = null;\n tokenCallback = null;\n pendingSubmitOptions = null;\n },\n\n addEventHandlers(handlers: PaymentFormEventHandlers): void {\n if (handlers.onReady) {\n window.Spreedly!.on('ready', handlers.onReady);\n }\n if (handlers.onFieldEvent) {\n window.Spreedly!.on('fieldEvent', handlers.onFieldEvent);\n }\n if (handlers.onErrors) {\n window.Spreedly!.on('errors', handlers.onErrors);\n }\n if (handlers.onPaymentMethod) {\n window.Spreedly!.on('paymentMethod', handlers.onPaymentMethod);\n }\n },\n\n removeHandlers(): void {\n if (window.Spreedly) {\n window.Spreedly.removeHandlers();\n }\n },\n\n setFieldType(name: spreedly.SpreedlyField, type: spreedly.SpreedlyFieldType): void {\n window.Spreedly!.setFieldType(name, type);\n },\n\n setLabel(name: spreedly.SpreedlyField, label: string): void {\n window.Spreedly!.setLabel(name, label);\n },\n\n setNumberFormat(format: 'plainFormat' | 'prettyFormat' | 'maskedFormat'): void {\n // @ts-expect-error - SpreedlyNumberFormat doesn't match allowed values\n window.Spreedly!.setNumberFormat(format);\n },\n\n setPlaceholder(name: spreedly.SpreedlyField, placeholder: string): void {\n window.Spreedly!.setPlaceholder(name, placeholder);\n },\n\n setStyle(name: spreedly.SpreedlyField, style: string): void {\n window.Spreedly!.setStyle(name, style);\n },\n };\n\n return controller;\n}\n\n// defined here since this is only for internal use\ninterface PaymentMethodIntentResponse {\n payment_method_intent_id: string;\n customer_id: number;\n external_customer_id: {\n ecommerce: number;\n };\n external: {\n environment_key: string;\n resource_url: string;\n integrity_hash: string;\n };\n created_at: IsoDateString;\n expires_at: IsoDateString;\n payment_method?: PaymentMethod;\n}\n\nasync function createFrictionlessPaymentIntentV1(\n session: Session,\n rechargePaymentMethodId?: string\n): Promise<PaymentMethodIntentResponse> {\n const id = session.customerId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const response = await rechargeApiRequest<PaymentMethodIntentResponse>(\n 'post',\n '/payment_method_intents',\n { data: { customer_id: id, payment_method_id: rechargePaymentMethodId } },\n getInternalSession(session, 'createFrictionlessPaymentIntentV1')\n );\n return response;\n}\n\n// defined here since this is only for internal use\ninterface FrictionlessPaymentMethodRequest {\n /** ID of the payment method to update */\n external_payment_method_id?: string;\n payment_method_intent_id: string;\n external_customer_id: number;\n}\n\nasync function submitFrictionlessPaymentMethodV1(\n session: Session,\n token: string,\n {\n billing_address,\n default_payment_method,\n address_ids,\n apply_to_all_subscription_addresses,\n }: PaymentMethodFormOptions,\n { external_payment_method_id, payment_method_intent_id, external_customer_id }: FrictionlessPaymentMethodRequest\n): Promise<PaymentMethod> {\n const paymentMethod = await createPaymentMethod(getInternalSession(session, 'submitFrictionlessPaymentMethodV1'), {\n default: default_payment_method ?? false,\n payment_type: 'CREDIT_CARD',\n processor_customer_token: external_customer_id.toString(),\n processor_name: 'frictionless',\n processor_payment_method_token: token,\n billing_address,\n payment_method_intent_id,\n address_ids,\n external_payment_method_id,\n apply_to_all_subscription_addresses,\n });\n return paymentMethod;\n}\n"],"names":["rechargeApiRequest","getInternalSession","loadSpreedlyScript"],"mappings":"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"}
1
+ {"version":3,"file":"paymentMethod.js","sources":["../../../src/api/paymentMethod.ts"],"sourcesContent":["import { loadSpreedlyScript } from '../utils/loadSpreedlyScript';\nimport {\n CardDetailsFirstNameLastName,\n CardDetailsFullName,\n CreatePaymentMethodRequest,\n GetPaymentMethodOptions,\n IsoDateString,\n PaymentFormConfig,\n PaymentFormController,\n PaymentFormEventHandlers,\n PaymentMethod,\n PaymentMethodFormOptions,\n PaymentMethodListParams,\n PaymentMethodsResponse,\n UpdatePaymentMethodRequest,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\nexport async function getPaymentMethod(\n session: Session,\n id: string | number,\n options?: GetPaymentMethodOptions\n): Promise<PaymentMethod> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { payment_method } = await rechargeApiRequest<{ payment_method: PaymentMethod }>(\n 'get',\n `/payment_methods`,\n {\n id,\n query: { include: options?.include },\n },\n getInternalSession(session, 'getPaymentMethod')\n );\n return payment_method;\n}\n\n/**\n * Create a Payment Method\n *\n * Currently, `shopify_payments` is in read-only mode and can only be managed by Shopify.\n */\nexport async function createPaymentMethod(\n session: Session,\n createRequest: CreatePaymentMethodRequest\n): Promise<PaymentMethod> {\n const { payment_method } = await rechargeApiRequest<{ payment_method: PaymentMethod }>(\n 'post',\n `/payment_methods`,\n {\n data: { ...createRequest, customer_id: session.customerId },\n },\n getInternalSession(session, 'createPaymentMethod')\n );\n return payment_method;\n}\n\n/**\n * Modify an existing Payment Method\n *\n * Currently, `shopify_payments` is in read-only mode and can only be managed by Shopify.\n */\nexport async function updatePaymentMethod(\n session: Session,\n id: string | number,\n updateRequest: UpdatePaymentMethodRequest\n): Promise<PaymentMethod> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { payment_method } = await rechargeApiRequest<{ payment_method: PaymentMethod }>(\n 'put',\n `/payment_methods`,\n {\n id,\n data: updateRequest,\n },\n getInternalSession(session, 'updatePaymentMethod')\n );\n return payment_method;\n}\n\nexport function listPaymentMethods(session: Session, query?: PaymentMethodListParams): Promise<PaymentMethodsResponse> {\n return rechargeApiRequest<PaymentMethodsResponse>(\n 'get',\n `/payment_methods`,\n { query },\n getInternalSession(session, 'listPaymentMethods')\n );\n}\n\nexport async function initFrictionlessPaymentV1(\n session: Session,\n rechargePaymentMethodId?: string\n): Promise<PaymentFormController> {\n // Initialize and get environment key\n const intentResponse = await createFrictionlessPaymentIntentV1(session, rechargePaymentMethodId);\n\n const environmentKey = intentResponse.external.environment_key;\n const paymentMethodIntentId = intentResponse.payment_method_intent_id;\n const externalCustomerId = intentResponse.external_customer_id.ecommerce;\n const resourceUrl = intentResponse.external.resource_url;\n const integrityHash = intentResponse.external.integrity_hash;\n const externalPaymentMethodId = intentResponse.payment_method?.processor_payment_method_token;\n\n // Load script\n await loadSpreedlyScript(resourceUrl, integrityHash);\n\n let isInitialized = false;\n let currentToken: string | null = null;\n let tokenCallback: ((token: string) => void) | null = null;\n let pendingSubmitOptions: PaymentMethodFormOptions | null = null;\n\n const controller: PaymentFormController = {\n mount(config: PaymentFormConfig, handlers?: PaymentFormEventHandlers): void {\n if (typeof window === 'undefined' || !window.Spreedly) {\n throw new Error('Payment script failed to load');\n }\n\n // Initialize Spreedly with element IDs\n window.Spreedly!.init(environmentKey, {\n numberEl: config.numberElementId,\n cvvEl: config.cvvElementId,\n });\n\n // Set up ready handler\n window.Spreedly!.on('ready', () => {\n isInitialized = true;\n\n // Apply styles\n if (config.styles) {\n window.Spreedly!.setStyle('number', config.styles);\n window.Spreedly!.setStyle('cvv', config.styles);\n }\n\n // Apply labels\n if (config.numberLabel) {\n window.Spreedly!.setLabel('number', config.numberLabel);\n }\n if (config.cvvLabel) {\n window.Spreedly!.setLabel('cvv', config.cvvLabel);\n }\n\n // Apply placeholders\n if (config.numberPlaceholder) {\n window.Spreedly!.setPlaceholder('number', config.numberPlaceholder);\n }\n if (config.cvvPlaceholder) {\n window.Spreedly!.setPlaceholder('cvv', config.cvvPlaceholder);\n }\n\n // Apply number format\n if (config.numberFormat === 'plainFormat') {\n // Apply field types\n if (config.numberFieldType) {\n window.Spreedly!.setFieldType('number', config.numberFieldType);\n }\n if (config.cvvFieldType) {\n window.Spreedly!.setFieldType('cvv', config.cvvFieldType);\n }\n // @ts-expect-error - SpreedlyNumberFormat doesn't match\n window.Spreedly!.setNumberFormat('plainFormat');\n } else if (config.numberFormat === 'maskedFormat') {\n window.Spreedly!.setFieldType('cvv', 'text');\n window.Spreedly!.setFieldType('number', 'text');\n window.Spreedly!.setNumberFormat('maskedFormat');\n } else if (config.numberFormat === 'prettyFormat') {\n // Apply field types\n if (config.numberFieldType === 'text' || config.numberFieldType === 'tel') {\n window.Spreedly!.setFieldType('number', config.numberFieldType);\n } else {\n window.Spreedly!.setFieldType('number', 'tel');\n }\n if (config.cvvFieldType === 'text' || config.cvvFieldType === 'tel') {\n window.Spreedly!.setFieldType('cvv', config.cvvFieldType);\n } else {\n window.Spreedly!.setFieldType('cvv', 'tel');\n }\n window.Spreedly!.setNumberFormat('prettyFormat');\n } else {\n // Apply field types\n if (config.numberFieldType) {\n window.Spreedly!.setFieldType('number', config.numberFieldType);\n }\n if (config.cvvFieldType) {\n window.Spreedly!.setFieldType('cvv', config.cvvFieldType);\n }\n }\n\n handlers?.onReady?.();\n });\n\n // Set up field event handler\n window.Spreedly!.on('fieldEvent', (name, eventType, activeElement, inputProperties) => {\n handlers?.onFieldEvent?.(name, eventType, activeElement, inputProperties);\n });\n\n // Set up error handler\n window.Spreedly!.on('errors', errors => {\n handlers?.onErrors?.(errors);\n });\n\n // Set up payment method handler\n window.Spreedly!.on('paymentMethod', (token, paymentMethod) => {\n currentToken = token;\n\n handlers?.onPaymentMethod?.(token, paymentMethod);\n\n // If there's a pending submit, execute it\n if (tokenCallback) {\n currentToken = null; // Clear the token after use\n tokenCallback(token);\n tokenCallback = null;\n }\n });\n },\n\n tokenize(cardDetails: CardDetailsFirstNameLastName | CardDetailsFullName): void {\n if (!isInitialized || !window.Spreedly) {\n throw new Error('Payment form is not initialized');\n }\n\n // Normalize year to YYYY format\n let year = String(cardDetails.year);\n if (year.length === 2) {\n year = `20${year}`;\n }\n const month = String(cardDetails.month).padStart(2, '0');\n\n if ('full_name' in cardDetails) {\n window.Spreedly.tokenizeCreditCard({\n full_name: cardDetails.full_name,\n month,\n year,\n });\n } else {\n window.Spreedly.tokenizeCreditCard({\n first_name: cardDetails.first_name,\n last_name: cardDetails.last_name,\n month,\n year,\n });\n }\n },\n\n async submit(options: PaymentMethodFormOptions): Promise<PaymentMethod> {\n if (!isInitialized) {\n throw new Error('Payment form is not initialized');\n }\n\n // Check if we already have a token\n if (currentToken) {\n const token = currentToken;\n currentToken = null; // Clear the token after use\n return submitFrictionlessPaymentMethodV1(session, token, options, {\n external_payment_method_id: externalPaymentMethodId,\n payment_method_intent_id: paymentMethodIntentId,\n external_customer_id: externalCustomerId,\n });\n }\n\n // Need to tokenize first, then submit\n return new Promise((resolve, reject) => {\n pendingSubmitOptions = options;\n\n tokenCallback = async (token: string) => {\n try {\n const result = await submitFrictionlessPaymentMethodV1(session, token, pendingSubmitOptions!, {\n external_payment_method_id: externalPaymentMethodId,\n payment_method_intent_id: paymentMethodIntentId,\n external_customer_id: externalCustomerId,\n });\n resolve(result);\n } catch (error) {\n reject(error);\n } finally {\n pendingSubmitOptions = null;\n }\n };\n\n // Trigger tokenization\n this.tokenize(options.card_details);\n });\n },\n\n reset(): void {\n if (window.Spreedly) {\n window.Spreedly.reload();\n }\n currentToken = null;\n tokenCallback = null;\n pendingSubmitOptions = null;\n },\n\n unmount(): void {\n if (window.Spreedly) {\n window.Spreedly.removeHandlers();\n }\n isInitialized = false;\n currentToken = null;\n tokenCallback = null;\n pendingSubmitOptions = null;\n },\n\n addEventHandlers(handlers: PaymentFormEventHandlers): void {\n if (handlers.onReady) {\n window.Spreedly!.on('ready', handlers.onReady);\n }\n if (handlers.onFieldEvent) {\n window.Spreedly!.on('fieldEvent', handlers.onFieldEvent);\n }\n if (handlers.onErrors) {\n window.Spreedly!.on('errors', handlers.onErrors);\n }\n if (handlers.onPaymentMethod) {\n window.Spreedly!.on('paymentMethod', handlers.onPaymentMethod);\n }\n },\n\n removeHandlers(): void {\n if (window.Spreedly) {\n window.Spreedly.removeHandlers();\n }\n },\n\n setFieldType(name: spreedly.SpreedlyField, type: spreedly.SpreedlyFieldType): void {\n window.Spreedly!.setFieldType(name, type);\n },\n\n setLabel(name: spreedly.SpreedlyField, label: string): void {\n window.Spreedly!.setLabel(name, label);\n },\n\n setNumberFormat(format: 'plainFormat' | 'prettyFormat' | 'maskedFormat'): void {\n // @ts-expect-error - SpreedlyNumberFormat doesn't match allowed values\n window.Spreedly!.setNumberFormat(format);\n },\n\n setPlaceholder(name: spreedly.SpreedlyField, placeholder: string): void {\n window.Spreedly!.setPlaceholder(name, placeholder);\n },\n\n setStyle(name: spreedly.SpreedlyField, style: string): void {\n window.Spreedly!.setStyle(name, style);\n },\n };\n\n return controller;\n}\n\n// defined here since this is only for internal use\ninterface PaymentMethodIntentResponse {\n payment_method_intent_id: string;\n customer_id: number;\n external_customer_id: {\n ecommerce: number;\n };\n external: {\n environment_key: string;\n resource_url: string;\n integrity_hash: string;\n };\n created_at: IsoDateString;\n expires_at: IsoDateString;\n payment_method?: PaymentMethod;\n}\n\nasync function createFrictionlessPaymentIntentV1(\n session: Session,\n rechargePaymentMethodId?: string\n): Promise<PaymentMethodIntentResponse> {\n const id = session.customerId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const response = await rechargeApiRequest<PaymentMethodIntentResponse>(\n 'post',\n '/payment_method_intents',\n { data: { customer_id: id, payment_method_id: rechargePaymentMethodId } },\n getInternalSession(session, 'createFrictionlessPaymentIntentV1')\n );\n return response;\n}\n\n// defined here since this is only for internal use\ninterface FrictionlessPaymentMethodRequest {\n /** ID of the payment method to update */\n external_payment_method_id?: string;\n payment_method_intent_id: string;\n external_customer_id: number;\n}\n\nasync function submitFrictionlessPaymentMethodV1(\n session: Session,\n token: string,\n {\n billing_address,\n default_payment_method,\n address_ids,\n apply_to_all_subscription_addresses,\n }: PaymentMethodFormOptions,\n { external_payment_method_id, payment_method_intent_id, external_customer_id }: FrictionlessPaymentMethodRequest\n): Promise<PaymentMethod> {\n const paymentMethod = await createPaymentMethod(getInternalSession(session, 'submitFrictionlessPaymentMethodV1'), {\n default: default_payment_method ?? false,\n payment_type: 'CREDIT_CARD',\n processor_customer_token: external_customer_id.toString(),\n processor_name: 'frictionless',\n processor_payment_method_token: token,\n billing_address,\n payment_method_intent_id,\n address_ids,\n external_payment_method_id,\n apply_to_all_subscription_addresses,\n });\n return paymentMethod;\n}\n"],"names":["rechargeApiRequest","getInternalSession","loadSpreedlyScript"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sources":["../../../src/api/plan.ts"],"sourcesContent":["import { Plan, PlanListParams, PlansResponse, Session } from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\nexport async function getPlan(session: Session, id: string | number): Promise<Plan> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { plan } = await rechargeApiRequest<{ plan: Plan }>(\n 'get',\n `/plans`,\n {\n id,\n },\n getInternalSession(session, 'getPlan')\n );\n return plan;\n}\n\nexport function listPlans(session: Session, query?: PlanListParams): Promise<PlansResponse> {\n return rechargeApiRequest<PlansResponse>('get', `/plans`, { query }, getInternalSession(session, 'listPlans'));\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAGsB,eAAA,OAAA,CAAQ,SAAkB,EAAoC,EAAA;AAClF,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,IAAK,EAAA,GAAI,MAAMA,0BAAA;AAAA,IACrB,KAAA;AAAA,IACA,CAAA,MAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,SAAS,CAAA;AAAA,GACvC,CAAA;AACA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;AAEgB,SAAA,SAAA,CAAU,SAAkB,KAAgD,EAAA;AAC1F,EAAO,OAAAD,0BAAA,CAAkC,OAAO,CAAU,MAAA,CAAA,EAAA,EAAE,OAAS,EAAAC,0BAAA,CAAmB,OAAS,EAAA,WAAW,CAAC,CAAA,CAAA;AAC/G;;;;;"}
1
+ {"version":3,"file":"plan.js","sources":["../../../src/api/plan.ts"],"sourcesContent":["import { Plan, PlanListParams, PlansResponse, Session } from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\nexport async function getPlan(session: Session, id: string | number): Promise<Plan> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { plan } = await rechargeApiRequest<{ plan: Plan }>(\n 'get',\n `/plans`,\n {\n id,\n },\n getInternalSession(session, 'getPlan')\n );\n return plan;\n}\n\nexport function listPlans(session: Session, query?: PlanListParams): Promise<PlansResponse> {\n return rechargeApiRequest<PlansResponse>('get', `/plans`, { query }, getInternalSession(session, 'listPlans'));\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAGA,eAAsB,OAAA,CAAQ,SAAkB,EAAA,EAAoC;AAClF,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAMA,0BAAA;AAAA,IACrB,KAAA;AAAA,IACA,CAAA,MAAA,CAAA;AAAA,IACA;AAAA,MACE;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,SAAS;AAAA,GACvC;AACA,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,SAAA,CAAU,SAAkB,KAAA,EAAgD;AAC1F,EAAA,OAAOD,0BAAA,CAAkC,OAAO,CAAA,MAAA,CAAA,EAAU,EAAE,OAAM,EAAGC,0BAAA,CAAmB,OAAA,EAAS,WAAW,CAAC,CAAA;AAC/G;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"product.js","sources":["../../../src/api/product.ts"],"sourcesContent":["import {\n ProductSearchParams_2020_12,\n ProductSearchParams_2022_06,\n ProductSearchResponse_2020_12,\n ProductSearchResponse_2022_06,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\nexport type ProductSearchType<T extends ProductSearchParams_2020_12 | ProductSearchParams_2022_06> =\n T extends ProductSearchParams_2020_12 ? ProductSearchResponse_2020_12 : ProductSearchResponse_2022_06;\n\nexport async function productSearch<T extends ProductSearchParams_2020_12 | ProductSearchParams_2022_06>(\n session: Session,\n query: T\n): Promise<ProductSearchType<T>> {\n if (!['2020-12', '2022-06'].includes(query.format_version)) {\n throw new Error('Missing or unsupported format_version.');\n }\n return rechargeApiRequest<ProductSearchType<T>>(\n 'get',\n `/product_search`,\n {\n query,\n headers: {\n 'X-Recharge-Version': '2021-01',\n },\n },\n getInternalSession(session, 'productSearch')\n );\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAYsB,eAAA,aAAA,CACpB,SACA,KAC+B,EAAA;AAC/B,EAAI,IAAA,CAAC,CAAC,SAAW,EAAA,SAAS,EAAE,QAAS,CAAA,KAAA,CAAM,cAAc,CAAG,EAAA;AAC1D,IAAM,MAAA,IAAI,MAAM,wCAAwC,CAAA,CAAA;AAAA,GAC1D;AACA,EAAO,OAAAA,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,eAAA,CAAA;AAAA,IACA;AAAA,MACE,KAAA;AAAA,MACA,OAAS,EAAA;AAAA,QACP,oBAAsB,EAAA,SAAA;AAAA,OACxB;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,eAAe,CAAA;AAAA,GAC7C,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"product.js","sources":["../../../src/api/product.ts"],"sourcesContent":["import {\n ProductSearchParams_2020_12,\n ProductSearchParams_2022_06,\n ProductSearchResponse_2020_12,\n ProductSearchResponse_2022_06,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\nexport type ProductSearchType<T extends ProductSearchParams_2020_12 | ProductSearchParams_2022_06> =\n T extends ProductSearchParams_2020_12 ? ProductSearchResponse_2020_12 : ProductSearchResponse_2022_06;\n\nexport async function productSearch<T extends ProductSearchParams_2020_12 | ProductSearchParams_2022_06>(\n session: Session,\n query: T\n): Promise<ProductSearchType<T>> {\n if (!['2020-12', '2022-06'].includes(query.format_version)) {\n throw new Error('Missing or unsupported format_version.');\n }\n return rechargeApiRequest<ProductSearchType<T>>(\n 'get',\n `/product_search`,\n {\n query,\n headers: {\n 'X-Recharge-Version': '2021-01',\n },\n },\n getInternalSession(session, 'productSearch')\n );\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAYA,eAAsB,aAAA,CACpB,SACA,KAAA,EAC+B;AAC/B,EAAA,IAAI,CAAC,CAAC,SAAA,EAAW,SAAS,EAAE,QAAA,CAAS,KAAA,CAAM,cAAc,CAAA,EAAG;AAC1D,IAAA,MAAM,IAAI,MAAM,wCAAwC,CAAA;AAAA,EAC1D;AACA,EAAA,OAAOA,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,eAAA,CAAA;AAAA,IACA;AAAA,MACE,KAAA;AAAA,MACA,OAAA,EAAS;AAAA,QACP,oBAAA,EAAsB;AAAA;AACxB,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,eAAe;AAAA,GAC7C;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sources":["../../../src/api/store.ts"],"sourcesContent":["import { ShippingCountriesOptions, ShippingCountriesResponse, StoreSettings, Session } from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\n/**\n * Get a list of all shipping countries for the store.\n */\nexport async function getShippingCountries(\n session: Session,\n options?: ShippingCountriesOptions\n): Promise<ShippingCountriesResponse> {\n const response = await rechargeApiRequest<ShippingCountriesResponse>(\n 'get',\n `/shop/shipping_countries`,\n {\n query: options,\n headers: {\n // Currently this is only available on the older api version.\n 'X-Recharge-Version': '2021-01',\n },\n },\n getInternalSession(session, 'getShippingCountries')\n );\n return response;\n}\n\n/**\n * Get the settings of the store. This includes the Customer Portal settings.\n */\nexport async function getStoreSettings(session: Session): Promise<StoreSettings> {\n const response = await rechargeApiRequest<StoreSettings>(\n 'get',\n '/shop/settings',\n {\n headers: {\n // Currently this is only available on the older api version.\n 'X-Recharge-Version': '2021-01',\n },\n },\n getInternalSession(session, 'getStoreSettings')\n );\n return response;\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAMsB,eAAA,oBAAA,CACpB,SACA,OACoC,EAAA;AACpC,EAAA,MAAM,WAAW,MAAMA,0BAAA;AAAA,IACrB,KAAA;AAAA,IACA,CAAA,wBAAA,CAAA;AAAA,IACA;AAAA,MACE,KAAO,EAAA,OAAA;AAAA,MACP,OAAS,EAAA;AAAA;AAAA,QAEP,oBAAsB,EAAA,SAAA;AAAA,OACxB;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,sBAAsB,CAAA;AAAA,GACpD,CAAA;AACA,EAAO,OAAA,QAAA,CAAA;AACT,CAAA;AAKA,eAAsB,iBAAiB,OAA0C,EAAA;AAC/E,EAAA,MAAM,WAAW,MAAMD,0BAAA;AAAA,IACrB,KAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,MACE,OAAS,EAAA;AAAA;AAAA,QAEP,oBAAsB,EAAA,SAAA;AAAA,OACxB;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,kBAAkB,CAAA;AAAA,GAChD,CAAA;AACA,EAAO,OAAA,QAAA,CAAA;AACT;;;;;"}
1
+ {"version":3,"file":"store.js","sources":["../../../src/api/store.ts"],"sourcesContent":["import { ShippingCountriesOptions, ShippingCountriesResponse, StoreSettings, Session } from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\n\n/**\n * Get a list of all shipping countries for the store.\n */\nexport async function getShippingCountries(\n session: Session,\n options?: ShippingCountriesOptions\n): Promise<ShippingCountriesResponse> {\n const response = await rechargeApiRequest<ShippingCountriesResponse>(\n 'get',\n `/shop/shipping_countries`,\n {\n query: options,\n headers: {\n // Currently this is only available on the older api version.\n 'X-Recharge-Version': '2021-01',\n },\n },\n getInternalSession(session, 'getShippingCountries')\n );\n return response;\n}\n\n/**\n * Get the settings of the store. This includes the Customer Portal settings.\n */\nexport async function getStoreSettings(session: Session): Promise<StoreSettings> {\n const response = await rechargeApiRequest<StoreSettings>(\n 'get',\n '/shop/settings',\n {\n headers: {\n // Currently this is only available on the older api version.\n 'X-Recharge-Version': '2021-01',\n },\n },\n getInternalSession(session, 'getStoreSettings')\n );\n return response;\n}\n"],"names":["rechargeApiRequest","getInternalSession"],"mappings":";;;;AAMA,eAAsB,oBAAA,CACpB,SACA,OAAA,EACoC;AACpC,EAAA,MAAM,WAAW,MAAMA,0BAAA;AAAA,IACrB,KAAA;AAAA,IACA,CAAA,wBAAA,CAAA;AAAA,IACA;AAAA,MACE,KAAA,EAAO,OAAA;AAAA,MACP,OAAA,EAAS;AAAA;AAAA,QAEP,oBAAA,EAAsB;AAAA;AACxB,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,sBAAsB;AAAA,GACpD;AACA,EAAA,OAAO,QAAA;AACT;AAKA,eAAsB,iBAAiB,OAAA,EAA0C;AAC/E,EAAA,MAAM,WAAW,MAAMD,0BAAA;AAAA,IACrB,KAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,MACE,OAAA,EAAS;AAAA;AAAA,QAEP,oBAAA,EAAsB;AAAA;AACxB,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,kBAAkB;AAAA,GAChD;AACA,EAAA,OAAO,QAAA;AACT;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.js","sources":["../../../src/api/subscription.ts"],"sourcesContent":["import { getInternalSession, rechargeApiRequest } from '../utils/request';\nimport { encodePathSegment } from '../utils/url';\nimport {\n CancelSubscriptionRequest,\n CreateSubscriptionRequest,\n Subscription,\n SubscriptionsResponse,\n SubscriptionListParams,\n UpdateSubscriptionRequest,\n UpdateSubscriptionParams,\n GetSubscriptionOptions,\n BasicSubscriptionParams,\n Subscription_2021_01,\n UpdateSubscriptionsRequest,\n UpdateSubscriptionsParams,\n Session,\n ChargeResponse,\n CreateRecipientAddress,\n Onetime,\n IsoDateString,\n CreateSubscriptionsParams,\n CreateSubscriptionsRequest,\n DeleteSubscriptionsParams,\n DeleteSubscriptionsRequest,\n UpdateSubscriptionChargeDateParams,\n SubscriptionListAddonsParams,\n SubscriptionPricingPreview,\n SubscriptionPricingPreviewRequest,\n} from '../types';\nimport {\n bulkSubscriptionCreateMapper,\n bulkSubscriptionUpdateMapper,\n subscriptionMapperOldToNew,\n} from '../mappers/subscription';\n\nexport async function getSubscription(\n session: Session,\n id: string | number,\n options?: GetSubscriptionOptions\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'get',\n `/subscriptions`,\n {\n id,\n query: { include: options?.include },\n },\n getInternalSession(session, 'getSubscription')\n );\n return subscription;\n}\n\nexport function listSubscriptions(session: Session, query?: SubscriptionListParams): Promise<SubscriptionsResponse> {\n return rechargeApiRequest<SubscriptionsResponse>(\n 'get',\n `/subscriptions`,\n { query },\n getInternalSession(session, 'listSubscriptions')\n );\n}\n\n/**\n * @internal\n * List add-on subscriptions for the given parent subscription.\n */\nexport function listSubscriptionAddons(\n session: Session,\n id: string | number,\n query?: SubscriptionListAddonsParams\n): Promise<SubscriptionsResponse> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n return rechargeApiRequest<SubscriptionsResponse>(\n 'get',\n `/subscriptions/${encodePathSegment(id)}/addons`,\n { query },\n getInternalSession(session, 'listSubscriptionAddons')\n );\n}\n\n/**\n * When creating a subscription via API, order_interval_frequency and charge_interval_frequency values do not necessarily\n * need to match the values set in the respective Plans. The product, however, does need to have at least one Plan in order\n * to be added to a subscription.\n */\nexport async function createSubscription(\n session: Session,\n createRequest: CreateSubscriptionRequest,\n query?: BasicSubscriptionParams\n): Promise<Subscription> {\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'post',\n `/subscriptions`,\n {\n data: createRequest,\n query,\n },\n getInternalSession(session, 'createSubscription')\n );\n return subscription;\n}\n\n/**\n * Updating parameters like frequency, charge_interval_frequency, order_interval_frequency, order_interval_unit will cause our algorithm to automatically recalculate the next charge date (next_charge_scheduled_at).\n * WARNING: This update will remove skipped and manually changed charges.\n * If you want to change the next charge date (next_charge_scheduled_at) we recommend you to update these parameters first.\n * When updating order_interval_unit OR order_interval_frequency OR charge_interval_frequency all three parameters are required.\n */\nexport async function updateSubscription(\n session: Session,\n id: string | number,\n updateRequest: UpdateSubscriptionRequest,\n query?: UpdateSubscriptionParams\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'put',\n `/subscriptions`,\n {\n id,\n data: updateRequest,\n query,\n },\n getInternalSession(session, 'updateSubscription')\n );\n return subscription;\n}\n\n/**\n * If there are two active subscriptions with the same address_id, and you update their\n * next_charge_date parameters to match, their charges will get merged into a new charge\n * with a new id\n */\nexport async function updateSubscriptionChargeDate(\n session: Session,\n id: string | number,\n date: IsoDateString,\n query?: UpdateSubscriptionChargeDateParams\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/set_next_charge_date`,\n {\n data: { date },\n query,\n },\n getInternalSession(session, 'updateSubscriptionChargeDate')\n );\n return subscription;\n}\n\nexport async function updateSubscriptionAddress(\n session: Session,\n id: string | number,\n address_id: string | number\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/change_address`,\n {\n data: { address_id },\n },\n getInternalSession(session, 'updateSubscriptionAddress')\n );\n return subscription;\n}\n\n/**\n * An involuntary subscription cancelled due to max retries reached will trigger the\n * charge/max_retries_reached webhook. If this leads to the subscription being cancelled,\n * the subscription/cancelled webhook will trigger.\n */\nexport async function cancelSubscription(\n session: Session,\n id: string | number,\n cancelRequest: CancelSubscriptionRequest,\n query?: BasicSubscriptionParams\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/cancel`,\n {\n data: cancelRequest,\n query,\n },\n getInternalSession(session, 'cancelSubscription')\n );\n return subscription;\n}\n\n/**\n * When activating subscription, following attributes will be set to null: cancelled_at, cancellation_reason\n * and cancellation_reason_comments.\n */\nexport async function activateSubscription(\n session: Session,\n id: string | number,\n query?: BasicSubscriptionParams\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/activate`,\n { query },\n getInternalSession(session, 'activateSubscription')\n );\n return subscription;\n}\n\n/* Skip charge associated with a subscription. */\nexport async function skipSubscriptionCharge(session: Session, id: number | string, date: IsoDateString) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { charge } = await rechargeApiRequest<ChargeResponse>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/charges/skip`,\n {\n data: {\n date,\n subscription_id: `${id}`,\n },\n },\n getInternalSession(session, 'skipSubscriptionCharge')\n );\n return charge;\n}\n\n/**\n * @internal\n * Price a proposed variant and/or plan swap for a subscription without persisting it.\n *\n * Runs the same pricing chain the update would run, so the returned `proposed_unit_price` is what\n * the customer would actually be charged -- including dynamic pricing tier resolution and any\n * pricing progression reset the swap would cause. Omitted request fields keep the subscription's\n * current value; quantity and frequency are not accepted because they cannot move the per-unit price\n * between dynamic pricing tiers.\n *\n * Pricing failures are reported in the returned `errors` map rather than thrown.\n */\nexport async function getSubscriptionPricingPreview(\n session: Session,\n id: string | number,\n previewRequest: SubscriptionPricingPreviewRequest = {}\n): Promise<SubscriptionPricingPreview> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: SubscriptionPricingPreview }>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/pricing_preview`,\n {\n data: previewRequest,\n },\n getInternalSession(session, 'getSubscriptionPricingPreview')\n );\n return subscription;\n}\n\n/**\n * Gift a subscription to another person. This creates onetime products for the recipient and skips that subscription for the customer.\n * When the gifted onetime ships the recipient receives and email notification.\n */\nexport async function skipGiftSubscriptionCharge(\n session: Session,\n subscriptionIds: Array<number | string>,\n recipientAddress: CreateRecipientAddress\n) {\n if (subscriptionIds === undefined || subscriptionIds.length === 0) {\n throw new Error('Subscription IDs are required');\n }\n const { onetimes } = await rechargeApiRequest<{ onetimes: Onetime[] }>(\n 'post',\n '/purchase_items/skip_gift',\n {\n data: {\n purchase_item_ids: subscriptionIds.map(Number),\n recipient_address: recipientAddress,\n },\n },\n getInternalSession(session, 'skipGiftSubscriptionCharge')\n );\n\n return onetimes;\n}\n\n/**\n * Bulk create new subscriptions.\n * Must all be for the same address.\n * There is a limit of 20 subscriptions per request.\n */\nexport async function createSubscriptions(\n session: Session,\n createRequestBulk: CreateSubscriptionsRequest[],\n query?: CreateSubscriptionsParams\n): Promise<Subscription[]> {\n // validate size\n const length = createRequestBulk.length;\n if (length < 1 || length > 21) {\n throw new Error('Number of subscriptions must be between 1 and 20.');\n }\n // validate customerId\n const { customerId } = session;\n if (!customerId) {\n throw new Error('No customerId in session.');\n }\n // validate addressId\n const addressId = createRequestBulk[0].address_id;\n if (!createRequestBulk.every(createRequest => createRequest.address_id === addressId)) {\n throw new Error('All subscriptions must have the same address_id.');\n }\n const requestData = createRequestBulk.map(createRequest => bulkSubscriptionCreateMapper(customerId, createRequest));\n // setup query params\n let localQuery: { allow_onetimes?: boolean } | undefined = undefined;\n if (query?.allow_onetimes !== undefined) {\n localQuery = { allow_onetimes: query.allow_onetimes };\n }\n const { subscriptions } = await rechargeApiRequest<{ subscriptions: Subscription_2021_01[] }>(\n 'post',\n `/addresses/${encodePathSegment(addressId)}/subscriptions-bulk`,\n {\n data: { subscriptions: requestData, commit_update: !!query?.commit },\n headers: {\n 'X-Recharge-Version': '2021-01',\n },\n query: localQuery,\n },\n getInternalSession(session, 'createSubscriptions')\n );\n return subscriptions.map(subscriptionMapperOldToNew);\n}\n\n/**\n * Bulk update subscriptions.\n * Must all be for the same address.\n * There is a limit of 20 subscriptions per request.\n * Same rules apply as a single subscription update\n */\nexport async function updateSubscriptions(\n session: Session,\n addressId: string | number,\n updateRequestBulk: UpdateSubscriptionsRequest[],\n query?: UpdateSubscriptionsParams\n): Promise<Subscription[]> {\n if (addressId === undefined || addressId === '') {\n throw new Error('Address ID is required');\n }\n // validate size\n const length = updateRequestBulk.length;\n if (length < 1 || length > 21) {\n throw new Error('Number of subscriptions must be between 1 and 20.');\n }\n // validate customerId\n const { customerId } = session;\n if (!customerId) {\n throw new Error('No customerId in session.');\n }\n const forceUpdate = !!query?.force_update;\n const requestData = updateRequestBulk.map(updateRequest => bulkSubscriptionUpdateMapper(forceUpdate, updateRequest));\n // setup query params\n let localQuery: { allow_onetimes?: boolean } | undefined = undefined;\n if (query?.allow_onetimes !== undefined) {\n localQuery = { allow_onetimes: query.allow_onetimes };\n }\n const { subscriptions } = await rechargeApiRequest<{ subscriptions: Subscription_2021_01[] }>(\n 'put',\n `/addresses/${encodePathSegment(addressId)}/subscriptions-bulk`,\n {\n data: { subscriptions: requestData, commit_update: !!query?.commit },\n headers: {\n 'X-Recharge-Version': '2021-01',\n },\n query: localQuery,\n },\n getInternalSession(session, 'updateSubscriptions')\n );\n return subscriptions.map(subscriptionMapperOldToNew);\n}\n\n/**\n * @internal\n * Bulk delete subscriptions.\n * Must all be for the same address.\n * There is a limit of 20 subscriptions per request.\n */\nexport async function deleteSubscriptions(\n session: Session,\n addressId: string | number,\n deleteRequestBulk: DeleteSubscriptionsRequest[],\n query?: DeleteSubscriptionsParams\n): Promise<void> {\n if (addressId === undefined || addressId === '') {\n throw new Error('Address ID is required');\n }\n // validate size\n const length = deleteRequestBulk.length;\n if (length < 1 || length > 21) {\n throw new Error('Number of subscriptions must be between 1 and 20.');\n }\n // validate customerId\n const { customerId } = session;\n if (!customerId) {\n throw new Error('No customerId in session.');\n }\n // setup query params\n let localQuery: { allow_onetimes?: boolean } | undefined = undefined;\n if (query?.allow_onetimes !== undefined) {\n localQuery = { allow_onetimes: query.allow_onetimes };\n }\n await rechargeApiRequest<{ subscriptions: Subscription_2021_01[] }>(\n 'delete',\n `/addresses/${encodePathSegment(addressId)}/subscriptions-bulk`,\n {\n data: { subscriptions: deleteRequestBulk, send_email: !!query?.send_email, commit_update: !!query?.commit },\n headers: {\n 'X-Recharge-Version': '2021-01',\n },\n query: localQuery,\n },\n getInternalSession(session, 'deleteSubscriptions')\n );\n return undefined;\n}\n"],"names":["rechargeApiRequest","getInternalSession","encodePathSegment","bulkSubscriptionCreateMapper","subscriptionMapperOldToNew","bulkSubscriptionUpdateMapper"],"mappings":"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"}
1
+ {"version":3,"file":"subscription.js","sources":["../../../src/api/subscription.ts"],"sourcesContent":["import { getInternalSession, rechargeApiRequest } from '../utils/request';\nimport { encodePathSegment } from '../utils/url';\nimport {\n CancelSubscriptionRequest,\n CreateSubscriptionRequest,\n Subscription,\n SubscriptionsResponse,\n SubscriptionListParams,\n UpdateSubscriptionRequest,\n UpdateSubscriptionParams,\n GetSubscriptionOptions,\n BasicSubscriptionParams,\n Subscription_2021_01,\n UpdateSubscriptionsRequest,\n UpdateSubscriptionsParams,\n Session,\n ChargeResponse,\n CreateRecipientAddress,\n Onetime,\n IsoDateString,\n CreateSubscriptionsParams,\n CreateSubscriptionsRequest,\n DeleteSubscriptionsParams,\n DeleteSubscriptionsRequest,\n UpdateSubscriptionChargeDateParams,\n SubscriptionListAddonsParams,\n SubscriptionPricingPreview,\n SubscriptionPricingPreviewRequest,\n} from '../types';\nimport {\n bulkSubscriptionCreateMapper,\n bulkSubscriptionUpdateMapper,\n subscriptionMapperOldToNew,\n} from '../mappers/subscription';\n\nexport async function getSubscription(\n session: Session,\n id: string | number,\n options?: GetSubscriptionOptions\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'get',\n `/subscriptions`,\n {\n id,\n query: { include: options?.include },\n },\n getInternalSession(session, 'getSubscription')\n );\n return subscription;\n}\n\nexport function listSubscriptions(session: Session, query?: SubscriptionListParams): Promise<SubscriptionsResponse> {\n return rechargeApiRequest<SubscriptionsResponse>(\n 'get',\n `/subscriptions`,\n { query },\n getInternalSession(session, 'listSubscriptions')\n );\n}\n\n/**\n * @internal\n * List add-on subscriptions for the given parent subscription.\n */\nexport function listSubscriptionAddons(\n session: Session,\n id: string | number,\n query?: SubscriptionListAddonsParams\n): Promise<SubscriptionsResponse> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n return rechargeApiRequest<SubscriptionsResponse>(\n 'get',\n `/subscriptions/${encodePathSegment(id)}/addons`,\n { query },\n getInternalSession(session, 'listSubscriptionAddons')\n );\n}\n\n/**\n * When creating a subscription via API, order_interval_frequency and charge_interval_frequency values do not necessarily\n * need to match the values set in the respective Plans. The product, however, does need to have at least one Plan in order\n * to be added to a subscription.\n */\nexport async function createSubscription(\n session: Session,\n createRequest: CreateSubscriptionRequest,\n query?: BasicSubscriptionParams\n): Promise<Subscription> {\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'post',\n `/subscriptions`,\n {\n data: createRequest,\n query,\n },\n getInternalSession(session, 'createSubscription')\n );\n return subscription;\n}\n\n/**\n * Updating parameters like frequency, charge_interval_frequency, order_interval_frequency, order_interval_unit will cause our algorithm to automatically recalculate the next charge date (next_charge_scheduled_at).\n * WARNING: This update will remove skipped and manually changed charges.\n * If you want to change the next charge date (next_charge_scheduled_at) we recommend you to update these parameters first.\n * When updating order_interval_unit OR order_interval_frequency OR charge_interval_frequency all three parameters are required.\n */\nexport async function updateSubscription(\n session: Session,\n id: string | number,\n updateRequest: UpdateSubscriptionRequest,\n query?: UpdateSubscriptionParams\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'put',\n `/subscriptions`,\n {\n id,\n data: updateRequest,\n query,\n },\n getInternalSession(session, 'updateSubscription')\n );\n return subscription;\n}\n\n/**\n * If there are two active subscriptions with the same address_id, and you update their\n * next_charge_date parameters to match, their charges will get merged into a new charge\n * with a new id\n */\nexport async function updateSubscriptionChargeDate(\n session: Session,\n id: string | number,\n date: IsoDateString,\n query?: UpdateSubscriptionChargeDateParams\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/set_next_charge_date`,\n {\n data: { date },\n query,\n },\n getInternalSession(session, 'updateSubscriptionChargeDate')\n );\n return subscription;\n}\n\nexport async function updateSubscriptionAddress(\n session: Session,\n id: string | number,\n address_id: string | number\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/change_address`,\n {\n data: { address_id },\n },\n getInternalSession(session, 'updateSubscriptionAddress')\n );\n return subscription;\n}\n\n/**\n * An involuntary subscription cancelled due to max retries reached will trigger the\n * charge/max_retries_reached webhook. If this leads to the subscription being cancelled,\n * the subscription/cancelled webhook will trigger.\n */\nexport async function cancelSubscription(\n session: Session,\n id: string | number,\n cancelRequest: CancelSubscriptionRequest,\n query?: BasicSubscriptionParams\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/cancel`,\n {\n data: cancelRequest,\n query,\n },\n getInternalSession(session, 'cancelSubscription')\n );\n return subscription;\n}\n\n/**\n * When activating subscription, following attributes will be set to null: cancelled_at, cancellation_reason\n * and cancellation_reason_comments.\n */\nexport async function activateSubscription(\n session: Session,\n id: string | number,\n query?: BasicSubscriptionParams\n): Promise<Subscription> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: Subscription }>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/activate`,\n { query },\n getInternalSession(session, 'activateSubscription')\n );\n return subscription;\n}\n\n/* Skip charge associated with a subscription. */\nexport async function skipSubscriptionCharge(session: Session, id: number | string, date: IsoDateString) {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { charge } = await rechargeApiRequest<ChargeResponse>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/charges/skip`,\n {\n data: {\n date,\n subscription_id: `${id}`,\n },\n },\n getInternalSession(session, 'skipSubscriptionCharge')\n );\n return charge;\n}\n\n/**\n * @internal\n * Price a proposed variant and/or plan swap for a subscription without persisting it.\n *\n * Runs the same pricing chain the update would run, so the returned `proposed_unit_price` is what\n * the customer would actually be charged -- including dynamic pricing tier resolution and any\n * pricing progression reset the swap would cause. Omitted request fields keep the subscription's\n * current value; quantity and frequency are not accepted because they cannot move the per-unit price\n * between dynamic pricing tiers.\n *\n * Pricing failures are reported in the returned `errors` map rather than thrown.\n */\nexport async function getSubscriptionPricingPreview(\n session: Session,\n id: string | number,\n previewRequest: SubscriptionPricingPreviewRequest = {}\n): Promise<SubscriptionPricingPreview> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { subscription } = await rechargeApiRequest<{ subscription: SubscriptionPricingPreview }>(\n 'post',\n `/subscriptions/${encodePathSegment(id)}/pricing_preview`,\n {\n data: previewRequest,\n },\n getInternalSession(session, 'getSubscriptionPricingPreview')\n );\n return subscription;\n}\n\n/**\n * Gift a subscription to another person. This creates onetime products for the recipient and skips that subscription for the customer.\n * When the gifted onetime ships the recipient receives and email notification.\n */\nexport async function skipGiftSubscriptionCharge(\n session: Session,\n subscriptionIds: Array<number | string>,\n recipientAddress: CreateRecipientAddress\n) {\n if (subscriptionIds === undefined || subscriptionIds.length === 0) {\n throw new Error('Subscription IDs are required');\n }\n const { onetimes } = await rechargeApiRequest<{ onetimes: Onetime[] }>(\n 'post',\n '/purchase_items/skip_gift',\n {\n data: {\n purchase_item_ids: subscriptionIds.map(Number),\n recipient_address: recipientAddress,\n },\n },\n getInternalSession(session, 'skipGiftSubscriptionCharge')\n );\n\n return onetimes;\n}\n\n/**\n * Bulk create new subscriptions.\n * Must all be for the same address.\n * There is a limit of 20 subscriptions per request.\n */\nexport async function createSubscriptions(\n session: Session,\n createRequestBulk: CreateSubscriptionsRequest[],\n query?: CreateSubscriptionsParams\n): Promise<Subscription[]> {\n // validate size\n const length = createRequestBulk.length;\n if (length < 1 || length > 21) {\n throw new Error('Number of subscriptions must be between 1 and 20.');\n }\n // validate customerId\n const { customerId } = session;\n if (!customerId) {\n throw new Error('No customerId in session.');\n }\n // validate addressId\n const addressId = createRequestBulk[0].address_id;\n if (!createRequestBulk.every(createRequest => createRequest.address_id === addressId)) {\n throw new Error('All subscriptions must have the same address_id.');\n }\n const requestData = createRequestBulk.map(createRequest => bulkSubscriptionCreateMapper(customerId, createRequest));\n // setup query params\n let localQuery: { allow_onetimes?: boolean } | undefined = undefined;\n if (query?.allow_onetimes !== undefined) {\n localQuery = { allow_onetimes: query.allow_onetimes };\n }\n const { subscriptions } = await rechargeApiRequest<{ subscriptions: Subscription_2021_01[] }>(\n 'post',\n `/addresses/${encodePathSegment(addressId)}/subscriptions-bulk`,\n {\n data: { subscriptions: requestData, commit_update: !!query?.commit },\n headers: {\n 'X-Recharge-Version': '2021-01',\n },\n query: localQuery,\n },\n getInternalSession(session, 'createSubscriptions')\n );\n return subscriptions.map(subscriptionMapperOldToNew);\n}\n\n/**\n * Bulk update subscriptions.\n * Must all be for the same address.\n * There is a limit of 20 subscriptions per request.\n * Same rules apply as a single subscription update\n */\nexport async function updateSubscriptions(\n session: Session,\n addressId: string | number,\n updateRequestBulk: UpdateSubscriptionsRequest[],\n query?: UpdateSubscriptionsParams\n): Promise<Subscription[]> {\n if (addressId === undefined || addressId === '') {\n throw new Error('Address ID is required');\n }\n // validate size\n const length = updateRequestBulk.length;\n if (length < 1 || length > 21) {\n throw new Error('Number of subscriptions must be between 1 and 20.');\n }\n // validate customerId\n const { customerId } = session;\n if (!customerId) {\n throw new Error('No customerId in session.');\n }\n const forceUpdate = !!query?.force_update;\n const requestData = updateRequestBulk.map(updateRequest => bulkSubscriptionUpdateMapper(forceUpdate, updateRequest));\n // setup query params\n let localQuery: { allow_onetimes?: boolean } | undefined = undefined;\n if (query?.allow_onetimes !== undefined) {\n localQuery = { allow_onetimes: query.allow_onetimes };\n }\n const { subscriptions } = await rechargeApiRequest<{ subscriptions: Subscription_2021_01[] }>(\n 'put',\n `/addresses/${encodePathSegment(addressId)}/subscriptions-bulk`,\n {\n data: { subscriptions: requestData, commit_update: !!query?.commit },\n headers: {\n 'X-Recharge-Version': '2021-01',\n },\n query: localQuery,\n },\n getInternalSession(session, 'updateSubscriptions')\n );\n return subscriptions.map(subscriptionMapperOldToNew);\n}\n\n/**\n * @internal\n * Bulk delete subscriptions.\n * Must all be for the same address.\n * There is a limit of 20 subscriptions per request.\n */\nexport async function deleteSubscriptions(\n session: Session,\n addressId: string | number,\n deleteRequestBulk: DeleteSubscriptionsRequest[],\n query?: DeleteSubscriptionsParams\n): Promise<void> {\n if (addressId === undefined || addressId === '') {\n throw new Error('Address ID is required');\n }\n // validate size\n const length = deleteRequestBulk.length;\n if (length < 1 || length > 21) {\n throw new Error('Number of subscriptions must be between 1 and 20.');\n }\n // validate customerId\n const { customerId } = session;\n if (!customerId) {\n throw new Error('No customerId in session.');\n }\n // setup query params\n let localQuery: { allow_onetimes?: boolean } | undefined = undefined;\n if (query?.allow_onetimes !== undefined) {\n localQuery = { allow_onetimes: query.allow_onetimes };\n }\n await rechargeApiRequest<{ subscriptions: Subscription_2021_01[] }>(\n 'delete',\n `/addresses/${encodePathSegment(addressId)}/subscriptions-bulk`,\n {\n data: { subscriptions: deleteRequestBulk, send_email: !!query?.send_email, commit_update: !!query?.commit },\n headers: {\n 'X-Recharge-Version': '2021-01',\n },\n query: localQuery,\n },\n getInternalSession(session, 'deleteSubscriptions')\n );\n return undefined;\n}\n"],"names":["rechargeApiRequest","getInternalSession","encodePathSegment","bulkSubscriptionCreateMapper","subscriptionMapperOldToNew","bulkSubscriptionUpdateMapper"],"mappings":";;;;;;AAmCA,eAAsB,eAAA,CACpB,OAAA,EACA,EAAA,EACA,OAAA,EACuB;AACvB,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,YAAA,EAAa,GAAI,MAAMA,0BAAA;AAAA,IAC7B,KAAA;AAAA,IACA,CAAA,cAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,MACA,KAAA,EAAO,EAAE,OAAA,EAAS,OAAA,EAAS,OAAA;AAAQ,KACrC;AAAA,IACAC,0BAAA,CAAmB,SAAS,iBAAiB;AAAA,GAC/C;AACA,EAAA,OAAO,YAAA;AACT;AAEO,SAAS,iBAAA,CAAkB,SAAkB,KAAA,EAAgE;AAClH,EAAA,OAAOD,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,cAAA,CAAA;AAAA,IACA,EAAE,KAAA,EAAM;AAAA,IACRC,0BAAA,CAAmB,SAAS,mBAAmB;AAAA,GACjD;AACF;AAMO,SAAS,sBAAA,CACd,OAAA,EACA,EAAA,EACA,KAAA,EACgC;AAChC,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,OAAOD,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,eAAA,EAAkBE,qBAAA,CAAkB,EAAE,CAAC,CAAA,OAAA,CAAA;AAAA,IACvC,EAAE,KAAA,EAAM;AAAA,IACRD,0BAAA,CAAmB,SAAS,wBAAwB;AAAA,GACtD;AACF;AAOA,eAAsB,kBAAA,CACpB,OAAA,EACA,aAAA,EACA,KAAA,EACuB;AACvB,EAAA,MAAM,EAAE,YAAA,EAAa,GAAI,MAAMD,0BAAA;AAAA,IAC7B,MAAA;AAAA,IACA,CAAA,cAAA,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM,aAAA;AAAA,MACN;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,oBAAoB;AAAA,GAClD;AACA,EAAA,OAAO,YAAA;AACT;AAQA,eAAsB,kBAAA,CACpB,OAAA,EACA,EAAA,EACA,aAAA,EACA,KAAA,EACuB;AACvB,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,YAAA,EAAa,GAAI,MAAMD,0BAAA;AAAA,IAC7B,KAAA;AAAA,IACA,CAAA,cAAA,CAAA;AAAA,IACA;AAAA,MACE,EAAA;AAAA,MACA,IAAA,EAAM,aAAA;AAAA,MACN;AAAA,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,oBAAoB;AAAA,GAClD;AACA,EAAA,OAAO,YAAA;AACT;AAOA,eAAsB,4BAAA,CACpB,OAAA,EACA,EAAA,EACA,IAAA,EACA,KAAA,EACuB;AACvB,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,YAAA,EAAa,GAAI,MAAMD,0BAAA;AAAA,IAC7B,MAAA;AAAA,IACA,CAAA,eAAA,EAAkBE,qBAAA,CAAkB,EAAE,CAAC,CAAA,qBAAA,CAAA;AAAA,IACvC;AAAA,MACE,IAAA,EAAM,EAAE,IAAA,EAAK;AAAA,MACb;AAAA,KACF;AAAA,IACAD,0BAAA,CAAmB,SAAS,8BAA8B;AAAA,GAC5D;AACA,EAAA,OAAO,YAAA;AACT;AAEA,eAAsB,yBAAA,CACpB,OAAA,EACA,EAAA,EACA,UAAA,EACuB;AACvB,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,YAAA,EAAa,GAAI,MAAMD,0BAAA;AAAA,IAC7B,MAAA;AAAA,IACA,CAAA,eAAA,EAAkBE,qBAAA,CAAkB,EAAE,CAAC,CAAA,eAAA,CAAA;AAAA,IACvC;AAAA,MACE,IAAA,EAAM,EAAE,UAAA;AAAW,KACrB;AAAA,IACAD,0BAAA,CAAmB,SAAS,2BAA2B;AAAA,GACzD;AACA,EAAA,OAAO,YAAA;AACT;AAOA,eAAsB,kBAAA,CACpB,OAAA,EACA,EAAA,EACA,aAAA,EACA,KAAA,EACuB;AACvB,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,YAAA,EAAa,GAAI,MAAMD,0BAAA;AAAA,IAC7B,MAAA;AAAA,IACA,CAAA,eAAA,EAAkBE,qBAAA,CAAkB,EAAE,CAAC,CAAA,OAAA,CAAA;AAAA,IACvC;AAAA,MACE,IAAA,EAAM,aAAA;AAAA,MACN;AAAA,KACF;AAAA,IACAD,0BAAA,CAAmB,SAAS,oBAAoB;AAAA,GAClD;AACA,EAAA,OAAO,YAAA;AACT;AAMA,eAAsB,oBAAA,CACpB,OAAA,EACA,EAAA,EACA,KAAA,EACuB;AACvB,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,YAAA,EAAa,GAAI,MAAMD,0BAAA;AAAA,IAC7B,MAAA;AAAA,IACA,CAAA,eAAA,EAAkBE,qBAAA,CAAkB,EAAE,CAAC,CAAA,SAAA,CAAA;AAAA,IACvC,EAAE,KAAA,EAAM;AAAA,IACRD,0BAAA,CAAmB,SAAS,sBAAsB;AAAA,GACpD;AACA,EAAA,OAAO,YAAA;AACT;AAGA,eAAsB,sBAAA,CAAuB,OAAA,EAAkB,EAAA,EAAqB,IAAA,EAAqB;AACvG,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,MAAMD,0BAAA;AAAA,IACvB,MAAA;AAAA,IACA,CAAA,eAAA,EAAkBE,qBAAA,CAAkB,EAAE,CAAC,CAAA,aAAA,CAAA;AAAA,IACvC;AAAA,MACE,IAAA,EAAM;AAAA,QACJ,IAAA;AAAA,QACA,eAAA,EAAiB,GAAG,EAAE,CAAA;AAAA;AACxB,KACF;AAAA,IACAD,0BAAA,CAAmB,SAAS,wBAAwB;AAAA,GACtD;AACA,EAAA,OAAO,MAAA;AACT;AAcA,eAAsB,6BAAA,CACpB,OAAA,EACA,EAAA,EACA,cAAA,GAAoD,EAAC,EAChB;AACrC,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,YAAA,EAAa,GAAI,MAAMD,0BAAA;AAAA,IAC7B,MAAA;AAAA,IACA,CAAA,eAAA,EAAkBE,qBAAA,CAAkB,EAAE,CAAC,CAAA,gBAAA,CAAA;AAAA,IACvC;AAAA,MACE,IAAA,EAAM;AAAA,KACR;AAAA,IACAD,0BAAA,CAAmB,SAAS,+BAA+B;AAAA,GAC7D;AACA,EAAA,OAAO,YAAA;AACT;AAMA,eAAsB,0BAAA,CACpB,OAAA,EACA,eAAA,EACA,gBAAA,EACA;AACA,EAAA,IAAI,eAAA,KAAoB,MAAA,IAAa,eAAA,CAAgB,MAAA,KAAW,CAAA,EAAG;AACjE,IAAA,MAAM,IAAI,MAAM,+BAA+B,CAAA;AAAA,EACjD;AACA,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,MAAMD,0BAAA;AAAA,IACzB,MAAA;AAAA,IACA,2BAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM;AAAA,QACJ,iBAAA,EAAmB,eAAA,CAAgB,GAAA,CAAI,MAAM,CAAA;AAAA,QAC7C,iBAAA,EAAmB;AAAA;AACrB,KACF;AAAA,IACAC,0BAAA,CAAmB,SAAS,4BAA4B;AAAA,GAC1D;AAEA,EAAA,OAAO,QAAA;AACT;AAOA,eAAsB,mBAAA,CACpB,OAAA,EACA,iBAAA,EACA,KAAA,EACyB;AAEzB,EAAA,MAAM,SAAS,iBAAA,CAAkB,MAAA;AACjC,EAAA,IAAI,MAAA,GAAS,CAAA,IAAK,MAAA,GAAS,EAAA,EAAI;AAC7B,IAAA,MAAM,IAAI,MAAM,mDAAmD,CAAA;AAAA,EACrE;AAEA,EAAA,MAAM,EAAE,YAAW,GAAI,OAAA;AACvB,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,MAAM,IAAI,MAAM,2BAA2B,CAAA;AAAA,EAC7C;AAEA,EAAA,MAAM,SAAA,GAAY,iBAAA,CAAkB,CAAC,CAAA,CAAE,UAAA;AACvC,EAAA,IAAI,CAAC,iBAAA,CAAkB,KAAA,CAAM,mBAAiB,aAAA,CAAc,UAAA,KAAe,SAAS,CAAA,EAAG;AACrF,IAAA,MAAM,IAAI,MAAM,kDAAkD,CAAA;AAAA,EACpE;AACA,EAAA,MAAM,cAAc,iBAAA,CAAkB,GAAA,CAAI,mBAAiBE,yCAAA,CAA6B,UAAA,EAAY,aAAa,CAAC,CAAA;AAElH,EAAA,IAAI,UAAA,GAAuD,MAAA;AAC3D,EAAA,IAAI,KAAA,EAAO,mBAAmB,MAAA,EAAW;AACvC,IAAA,UAAA,GAAa,EAAE,cAAA,EAAgB,KAAA,CAAM,cAAA,EAAe;AAAA,EACtD;AACA,EAAA,MAAM,EAAE,aAAA,EAAc,GAAI,MAAMH,0BAAA;AAAA,IAC9B,MAAA;AAAA,IACA,CAAA,WAAA,EAAcE,qBAAA,CAAkB,SAAS,CAAC,CAAA,mBAAA,CAAA;AAAA,IAC1C;AAAA,MACE,IAAA,EAAM,EAAE,aAAA,EAAe,WAAA,EAAa,eAAe,CAAC,CAAC,OAAO,MAAA,EAAO;AAAA,MACnE,OAAA,EAAS;AAAA,QACP,oBAAA,EAAsB;AAAA,OACxB;AAAA,MACA,KAAA,EAAO;AAAA,KACT;AAAA,IACAD,0BAAA,CAAmB,SAAS,qBAAqB;AAAA,GACnD;AACA,EAAA,OAAO,aAAA,CAAc,IAAIG,uCAA0B,CAAA;AACrD;AAQA,eAAsB,mBAAA,CACpB,OAAA,EACA,SAAA,EACA,iBAAA,EACA,KAAA,EACyB;AACzB,EAAA,IAAI,SAAA,KAAc,MAAA,IAAa,SAAA,KAAc,EAAA,EAAI;AAC/C,IAAA,MAAM,IAAI,MAAM,wBAAwB,CAAA;AAAA,EAC1C;AAEA,EAAA,MAAM,SAAS,iBAAA,CAAkB,MAAA;AACjC,EAAA,IAAI,MAAA,GAAS,CAAA,IAAK,MAAA,GAAS,EAAA,EAAI;AAC7B,IAAA,MAAM,IAAI,MAAM,mDAAmD,CAAA;AAAA,EACrE;AAEA,EAAA,MAAM,EAAE,YAAW,GAAI,OAAA;AACvB,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,MAAM,IAAI,MAAM,2BAA2B,CAAA;AAAA,EAC7C;AACA,EAAA,MAAM,WAAA,GAAc,CAAC,CAAC,KAAA,EAAO,YAAA;AAC7B,EAAA,MAAM,cAAc,iBAAA,CAAkB,GAAA,CAAI,mBAAiBC,yCAAA,CAA6B,WAAA,EAAa,aAAa,CAAC,CAAA;AAEnH,EAAA,IAAI,UAAA,GAAuD,MAAA;AAC3D,EAAA,IAAI,KAAA,EAAO,mBAAmB,MAAA,EAAW;AACvC,IAAA,UAAA,GAAa,EAAE,cAAA,EAAgB,KAAA,CAAM,cAAA,EAAe;AAAA,EACtD;AACA,EAAA,MAAM,EAAE,aAAA,EAAc,GAAI,MAAML,0BAAA;AAAA,IAC9B,KAAA;AAAA,IACA,CAAA,WAAA,EAAcE,qBAAA,CAAkB,SAAS,CAAC,CAAA,mBAAA,CAAA;AAAA,IAC1C;AAAA,MACE,IAAA,EAAM,EAAE,aAAA,EAAe,WAAA,EAAa,eAAe,CAAC,CAAC,OAAO,MAAA,EAAO;AAAA,MACnE,OAAA,EAAS;AAAA,QACP,oBAAA,EAAsB;AAAA,OACxB;AAAA,MACA,KAAA,EAAO;AAAA,KACT;AAAA,IACAD,0BAAA,CAAmB,SAAS,qBAAqB;AAAA,GACnD;AACA,EAAA,OAAO,aAAA,CAAc,IAAIG,uCAA0B,CAAA;AACrD;AAQA,eAAsB,mBAAA,CACpB,OAAA,EACA,SAAA,EACA,iBAAA,EACA,KAAA,EACe;AACf,EAAA,IAAI,SAAA,KAAc,MAAA,IAAa,SAAA,KAAc,EAAA,EAAI;AAC/C,IAAA,MAAM,IAAI,MAAM,wBAAwB,CAAA;AAAA,EAC1C;AAEA,EAAA,MAAM,SAAS,iBAAA,CAAkB,MAAA;AACjC,EAAA,IAAI,MAAA,GAAS,CAAA,IAAK,MAAA,GAAS,EAAA,EAAI;AAC7B,IAAA,MAAM,IAAI,MAAM,mDAAmD,CAAA;AAAA,EACrE;AAEA,EAAA,MAAM,EAAE,YAAW,GAAI,OAAA;AACvB,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,MAAM,IAAI,MAAM,2BAA2B,CAAA;AAAA,EAC7C;AAEA,EAAA,IAAI,UAAA,GAAuD,MAAA;AAC3D,EAAA,IAAI,KAAA,EAAO,mBAAmB,MAAA,EAAW;AACvC,IAAA,UAAA,GAAa,EAAE,cAAA,EAAgB,KAAA,CAAM,cAAA,EAAe;AAAA,EACtD;AACA,EAAA,MAAMJ,0BAAA;AAAA,IACJ,QAAA;AAAA,IACA,CAAA,WAAA,EAAcE,qBAAA,CAAkB,SAAS,CAAC,CAAA,mBAAA,CAAA;AAAA,IAC1C;AAAA,MACE,IAAA,EAAM,EAAE,aAAA,EAAe,iBAAA,EAAmB,UAAA,EAAY,CAAC,CAAC,KAAA,EAAO,UAAA,EAAY,aAAA,EAAe,CAAC,CAAC,OAAO,MAAA,EAAO;AAAA,MAC1G,OAAA,EAAS;AAAA,QACP,oBAAA,EAAsB;AAAA,OACxB;AAAA,MACA,KAAA,EAAO;AAAA,KACT;AAAA,IACAD,0BAAA,CAAmB,SAAS,qBAAqB;AAAA,GACnD;AACA,EAAA,OAAO,MAAA;AACT;;;;;;;;;;;;;;;;"}
@@ -4,9 +4,6 @@ var request = require('../utils/request.js');
4
4
  var url = require('../utils/url.js');
5
5
 
6
6
  function listTieredDiscounts(session, options) {
7
- if (!session.customerId) {
8
- throw new Error("Not logged in.");
9
- }
10
7
  return request.rechargeApiRequest(
11
8
  "get",
12
9
  `/incentives/tiered_discounts`,
@@ -17,9 +14,6 @@ function listTieredDiscounts(session, options) {
17
14
  );
18
15
  }
19
16
  async function getTieredDiscount(session, id) {
20
- if (!session.customerId) {
21
- throw new Error("Not logged in.");
22
- }
23
17
  if (id === void 0 || id === "") {
24
18
  throw new Error("ID is required");
25
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tieredDiscount.js","sources":["../../../src/api/tieredDiscount.ts"],"sourcesContent":["import {\n TieredDiscount,\n TieredDiscountsParams,\n TieredDiscountsResponse,\n TieredDiscountOffersRequest,\n TieredDiscountOffersResponse,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\nimport { encodePathSegment } from '../utils/url';\n\nexport function listTieredDiscounts(\n session: Session,\n options?: TieredDiscountsParams\n): Promise<TieredDiscountsResponse> {\n if (!session.customerId) {\n throw new Error('Not logged in.');\n }\n return rechargeApiRequest<TieredDiscountsResponse>(\n 'get',\n `/incentives/tiered_discounts`,\n {\n query: options,\n },\n getInternalSession(session, 'listTieredDiscounts')\n );\n}\n\nexport async function getTieredDiscount(session: Session, id: string | number): Promise<TieredDiscount> {\n if (!session.customerId) {\n throw new Error('Not logged in.');\n }\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { tiered_discount } = await rechargeApiRequest<{ tiered_discount: TieredDiscount }>(\n 'get',\n `/incentives/tiered_discounts/${encodePathSegment(id)}`,\n {},\n getInternalSession(session, 'getTieredDiscount')\n );\n return tiered_discount;\n}\n\nexport function getTieredDiscountOffers(\n session: Session,\n body: TieredDiscountOffersRequest\n): Promise<TieredDiscountOffersResponse> {\n return rechargeApiRequest<TieredDiscountOffersResponse>(\n 'post',\n `/incentives/tiered_discounts/offers`,\n { data: body },\n getInternalSession(session, 'getTieredDiscountOffers')\n );\n}\n"],"names":["rechargeApiRequest","getInternalSession","encodePathSegment"],"mappings":";;;;;AAWgB,SAAA,mBAAA,CACd,SACA,OACkC,EAAA;AAClC,EAAI,IAAA,CAAC,QAAQ,UAAY,EAAA;AACvB,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAO,OAAAA,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,4BAAA,CAAA;AAAA,IACA;AAAA,MACE,KAAO,EAAA,OAAA;AAAA,KACT;AAAA,IACAC,0BAAA,CAAmB,SAAS,qBAAqB,CAAA;AAAA,GACnD,CAAA;AACF,CAAA;AAEsB,eAAA,iBAAA,CAAkB,SAAkB,EAA8C,EAAA;AACtG,EAAI,IAAA,CAAC,QAAQ,UAAY,EAAA;AACvB,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,EAAI,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,GAClC;AACA,EAAM,MAAA,EAAE,eAAgB,EAAA,GAAI,MAAMD,0BAAA;AAAA,IAChC,KAAA;AAAA,IACA,CAAA,6BAAA,EAAgCE,qBAAkB,CAAA,EAAE,CAAC,CAAA,CAAA;AAAA,IACrD,EAAC;AAAA,IACDD,0BAAA,CAAmB,SAAS,mBAAmB,CAAA;AAAA,GACjD,CAAA;AACA,EAAO,OAAA,eAAA,CAAA;AACT,CAAA;AAEgB,SAAA,uBAAA,CACd,SACA,IACuC,EAAA;AACvC,EAAO,OAAAD,0BAAA;AAAA,IACL,MAAA;AAAA,IACA,CAAA,mCAAA,CAAA;AAAA,IACA,EAAE,MAAM,IAAK,EAAA;AAAA,IACbC,0BAAA,CAAmB,SAAS,yBAAyB,CAAA;AAAA,GACvD,CAAA;AACF;;;;;;"}
1
+ {"version":3,"file":"tieredDiscount.js","sources":["../../../src/api/tieredDiscount.ts"],"sourcesContent":["import {\n TieredDiscount,\n TieredDiscountsParams,\n TieredDiscountsResponse,\n TieredDiscountOffersRequest,\n TieredDiscountOffersResponse,\n Session,\n} from '../types';\nimport { getInternalSession, rechargeApiRequest } from '../utils/request';\nimport { encodePathSegment } from '../utils/url';\n\nexport function listTieredDiscounts(\n session: Session,\n options?: TieredDiscountsParams\n): Promise<TieredDiscountsResponse> {\n return rechargeApiRequest<TieredDiscountsResponse>(\n 'get',\n `/incentives/tiered_discounts`,\n {\n query: options,\n },\n getInternalSession(session, 'listTieredDiscounts')\n );\n}\n\nexport async function getTieredDiscount(session: Session, id: string | number): Promise<TieredDiscount> {\n if (id === undefined || id === '') {\n throw new Error('ID is required');\n }\n const { tiered_discount } = await rechargeApiRequest<{ tiered_discount: TieredDiscount }>(\n 'get',\n `/incentives/tiered_discounts/${encodePathSegment(id)}`,\n {},\n getInternalSession(session, 'getTieredDiscount')\n );\n return tiered_discount;\n}\n\nexport function getTieredDiscountOffers(\n session: Session,\n body: TieredDiscountOffersRequest\n): Promise<TieredDiscountOffersResponse> {\n return rechargeApiRequest<TieredDiscountOffersResponse>(\n 'post',\n `/incentives/tiered_discounts/offers`,\n { data: body },\n getInternalSession(session, 'getTieredDiscountOffers')\n );\n}\n"],"names":["rechargeApiRequest","getInternalSession","encodePathSegment"],"mappings":";;;;;AAWO,SAAS,mBAAA,CACd,SACA,OAAA,EACkC;AAClC,EAAA,OAAOA,0BAAA;AAAA,IACL,KAAA;AAAA,IACA,CAAA,4BAAA,CAAA;AAAA,IACA;AAAA,MACE,KAAA,EAAO;AAAA,KACT;AAAA,IACAC,0BAAA,CAAmB,SAAS,qBAAqB;AAAA,GACnD;AACF;AAEA,eAAsB,iBAAA,CAAkB,SAAkB,EAAA,EAA8C;AACtG,EAAA,IAAI,EAAA,KAAO,MAAA,IAAa,EAAA,KAAO,EAAA,EAAI;AACjC,IAAA,MAAM,IAAI,MAAM,gBAAgB,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,MAAMD,0BAAA;AAAA,IAChC,KAAA;AAAA,IACA,CAAA,6BAAA,EAAgCE,qBAAA,CAAkB,EAAE,CAAC,CAAA,CAAA;AAAA,IACrD,EAAC;AAAA,IACDD,0BAAA,CAAmB,SAAS,mBAAmB;AAAA,GACjD;AACA,EAAA,OAAO,eAAA;AACT;AAEO,SAAS,uBAAA,CACd,SACA,IAAA,EACuC;AACvC,EAAA,OAAOD,0BAAA;AAAA,IACL,MAAA;AAAA,IACA,CAAA,mCAAA,CAAA;AAAA,IACA,EAAE,MAAM,IAAA,EAAK;AAAA,IACbC,0BAAA,CAAmB,SAAS,yBAAyB;AAAA,GACvD;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sources":["../../../src/constants/api.ts"],"sourcesContent":["import { StorefrontEnvironment } from '../types';\n\nexport const RECHARGE_API_URL = (environment: StorefrontEnvironment, environmentUri = ''): string => {\n switch (environment) {\n case 'prod':\n return 'https://api.rechargeapps.com';\n case 'stage':\n return 'https://api.stage.rechargeapps.com';\n case 'preprod':\n case 'prestage':\n return `${environmentUri}/api`;\n }\n};\nexport const RECHARGE_ADMIN_URL = (environment: StorefrontEnvironment, environmentUri = ''): string => {\n switch (environment) {\n case 'prod':\n return 'https://admin.rechargeapps.com';\n case 'stage':\n return 'https://admin.stage.rechargeapps.com';\n case 'preprod':\n case 'prestage':\n return environmentUri;\n }\n};\nexport const RECHARGE_CDN_URL = (environment: StorefrontEnvironment): string => {\n switch (environment) {\n case 'prod':\n case 'preprod':\n return 'https://static.rechargecdn.com';\n case 'stage':\n case 'prestage':\n return 'https://static.stage.rechargecdn.com';\n }\n};\nexport const SHOPIFY_APP_PROXY_URL = '/tools/recurring';\n"],"names":[],"mappings":";;AAEO,MAAM,gBAAmB,GAAA,CAAC,WAAoC,EAAA,cAAA,GAAiB,EAAe,KAAA;AACnG,EAAA,QAAQ,WAAa;AAAA,IACnB,KAAK,MAAA;AACH,MAAO,OAAA,8BAAA,CAAA;AAAA,IACT,KAAK,OAAA;AACH,MAAO,OAAA,oCAAA,CAAA;AAAA,IACT,KAAK,SAAA,CAAA;AAAA,IACL,KAAK,UAAA;AACH,MAAA,OAAO,GAAG,cAAc,CAAA,IAAA,CAAA,CAAA;AAAA,GAC5B;AACF,EAAA;AACO,MAAM,kBAAqB,GAAA,CAAC,WAAoC,EAAA,cAAA,GAAiB,EAAe,KAAA;AACrG,EAAA,QAAQ,WAAa;AAAA,IACnB,KAAK,MAAA;AACH,MAAO,OAAA,gCAAA,CAAA;AAAA,IACT,KAAK,OAAA;AACH,MAAO,OAAA,sCAAA,CAAA;AAAA,IACT,KAAK,SAAA,CAAA;AAAA,IACL,KAAK,UAAA;AACH,MAAO,OAAA,cAAA,CAAA;AAAA,GACX;AACF,EAAA;AACa,MAAA,gBAAA,GAAmB,CAAC,WAA+C,KAAA;AAC9E,EAAA,QAAQ,WAAa;AAAA,IACnB,KAAK,MAAA,CAAA;AAAA,IACL,KAAK,SAAA;AACH,MAAO,OAAA,gCAAA,CAAA;AAAA,IACT,KAAK,OAAA,CAAA;AAAA,IACL,KAAK,UAAA;AACH,MAAO,OAAA,sCAAA,CAAA;AAAA,GACX;AACF,EAAA;AACO,MAAM,qBAAwB,GAAA;;;;;;;"}
1
+ {"version":3,"file":"api.js","sources":["../../../src/constants/api.ts"],"sourcesContent":["import { StorefrontEnvironment } from '../types';\n\nexport const RECHARGE_API_URL = (environment: StorefrontEnvironment, environmentUri = ''): string => {\n switch (environment) {\n case 'prod':\n return 'https://api.rechargeapps.com';\n case 'stage':\n return 'https://api.stage.rechargeapps.com';\n case 'preprod':\n case 'prestage':\n return `${environmentUri}/api`;\n }\n};\nexport const RECHARGE_ADMIN_URL = (environment: StorefrontEnvironment, environmentUri = ''): string => {\n switch (environment) {\n case 'prod':\n return 'https://admin.rechargeapps.com';\n case 'stage':\n return 'https://admin.stage.rechargeapps.com';\n case 'preprod':\n case 'prestage':\n return environmentUri;\n }\n};\nexport const RECHARGE_CDN_URL = (environment: StorefrontEnvironment): string => {\n switch (environment) {\n case 'prod':\n case 'preprod':\n return 'https://static.rechargecdn.com';\n case 'stage':\n case 'prestage':\n return 'https://static.stage.rechargecdn.com';\n }\n};\nexport const SHOPIFY_APP_PROXY_URL = '/tools/recurring';\n"],"names":[],"mappings":";;AAEO,MAAM,gBAAA,GAAmB,CAAC,WAAA,EAAoC,cAAA,GAAiB,EAAA,KAAe;AACnG,EAAA,QAAQ,WAAA;AAAa,IACnB,KAAK,MAAA;AACH,MAAA,OAAO,8BAAA;AAAA,IACT,KAAK,OAAA;AACH,MAAA,OAAO,oCAAA;AAAA,IACT,KAAK,SAAA;AAAA,IACL,KAAK,UAAA;AACH,MAAA,OAAO,GAAG,cAAc,CAAA,IAAA,CAAA;AAAA;AAE9B;AACO,MAAM,kBAAA,GAAqB,CAAC,WAAA,EAAoC,cAAA,GAAiB,EAAA,KAAe;AACrG,EAAA,QAAQ,WAAA;AAAa,IACnB,KAAK,MAAA;AACH,MAAA,OAAO,gCAAA;AAAA,IACT,KAAK,OAAA;AACH,MAAA,OAAO,sCAAA;AAAA,IACT,KAAK,SAAA;AAAA,IACL,KAAK,UAAA;AACH,MAAA,OAAO,cAAA;AAAA;AAEb;AACO,MAAM,gBAAA,GAAmB,CAAC,WAAA,KAA+C;AAC9E,EAAA,QAAQ,WAAA;AAAa,IACnB,KAAK,MAAA;AAAA,IACL,KAAK,SAAA;AACH,MAAA,OAAO,gCAAA;AAAA,IACT,KAAK,OAAA;AAAA,IACL,KAAK,UAAA;AACH,MAAA,OAAO,sCAAA;AAAA;AAEb;AACO,MAAM,qBAAA,GAAwB;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"cdn.js","sources":["../../../src/mappers/cdn.ts"],"sourcesContent":["import {\n CDNBaseWidgetSettings,\n CDNProductRaw,\n CDNWidgetSettings,\n CDNWidgetSettingsRaw,\n CDNProduct,\n CDNProductKeyObject,\n} from '../types';\nimport { omit, parseValues } from './utils';\n\nexport function widgetSettingsMapper(widgetSettingsRaw: CDNWidgetSettingsRaw): CDNWidgetSettings {\n const parsedSettings = parseValues<CDNBaseWidgetSettings>(widgetSettingsRaw);\n\n const auto_inject = parsedSettings.auto_inject === undefined ? true : parsedSettings.auto_inject;\n const valid_pages = parsedSettings.display_on ?? [];\n const is_subscription_first = parsedSettings.first_option === 'autodeliver';\n\n return {\n ...omit(parsedSettings, ['display_on', 'first_option']),\n auto_inject,\n valid_pages,\n is_subscription_first,\n autoInject: auto_inject,\n validPages: valid_pages,\n isSubscriptionFirst: is_subscription_first,\n };\n}\n\nexport function productMapper(productRaw: CDNProductRaw): CDNProduct {\n const is_subscription_only = productRaw.subscription_options?.storefront_purchase_options === 'subscription_only';\n return {\n ...productRaw,\n is_subscription_only,\n isSubscriptionOnly: is_subscription_only,\n };\n}\n\nexport function productArrayMapper(\n productsArray: {\n [key: string]: CDNProductRaw;\n }[]\n): CDNProductKeyObject[] {\n return productsArray.map(productObjRaw => {\n const productObj: CDNProductKeyObject = {};\n Object.entries(productObjRaw).forEach(([key, value]) => {\n // defineProperty creates a real own key even for `__proto__`, avoiding prototype pollution\n Object.defineProperty(productObj, key, {\n value: productMapper(value),\n enumerable: true,\n writable: true,\n configurable: true,\n });\n });\n return productObj;\n });\n}\n"],"names":["parseValues","omit"],"mappings":";;;;AAUO,SAAS,qBAAqB,iBAA4D,EAAA;AAC/F,EAAM,MAAA,cAAA,GAAiBA,kBAAmC,iBAAiB,CAAA,CAAA;AAE3E,EAAA,MAAM,WAAc,GAAA,cAAA,CAAe,WAAgB,KAAA,KAAA,CAAA,GAAY,OAAO,cAAe,CAAA,WAAA,CAAA;AACrF,EAAM,MAAA,WAAA,GAAc,cAAe,CAAA,UAAA,IAAc,EAAC,CAAA;AAClD,EAAM,MAAA,qBAAA,GAAwB,eAAe,YAAiB,KAAA,aAAA,CAAA;AAE9D,EAAO,OAAA;AAAA,IACL,GAAGC,UAAK,CAAA,cAAA,EAAgB,CAAC,YAAA,EAAc,cAAc,CAAC,CAAA;AAAA,IACtD,WAAA;AAAA,IACA,WAAA;AAAA,IACA,qBAAA;AAAA,IACA,UAAY,EAAA,WAAA;AAAA,IACZ,UAAY,EAAA,WAAA;AAAA,IACZ,mBAAqB,EAAA,qBAAA;AAAA,GACvB,CAAA;AACF,CAAA;AAEO,SAAS,cAAc,UAAuC,EAAA;AACnE,EAAM,MAAA,oBAAA,GAAuB,UAAW,CAAA,oBAAA,EAAsB,2BAAgC,KAAA,mBAAA,CAAA;AAC9F,EAAO,OAAA;AAAA,IACL,GAAG,UAAA;AAAA,IACH,oBAAA;AAAA,IACA,kBAAoB,EAAA,oBAAA;AAAA,GACtB,CAAA;AACF,CAAA;AAEO,SAAS,mBACd,aAGuB,EAAA;AACvB,EAAO,OAAA,aAAA,CAAc,IAAI,CAAiB,aAAA,KAAA;AACxC,IAAA,MAAM,aAAkC,EAAC,CAAA;AACzC,IAAO,MAAA,CAAA,OAAA,CAAQ,aAAa,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAM,KAAA;AAEtD,MAAO,MAAA,CAAA,cAAA,CAAe,YAAY,GAAK,EAAA;AAAA,QACrC,KAAA,EAAO,cAAc,KAAK,CAAA;AAAA,QAC1B,UAAY,EAAA,IAAA;AAAA,QACZ,QAAU,EAAA,IAAA;AAAA,QACV,YAAc,EAAA,IAAA;AAAA,OACf,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AACD,IAAO,OAAA,UAAA,CAAA;AAAA,GACR,CAAA,CAAA;AACH;;;;;;"}
1
+ {"version":3,"file":"cdn.js","sources":["../../../src/mappers/cdn.ts"],"sourcesContent":["import {\n CDNBaseWidgetSettings,\n CDNProductRaw,\n CDNWidgetSettings,\n CDNWidgetSettingsRaw,\n CDNProduct,\n CDNProductKeyObject,\n} from '../types';\nimport { omit, parseValues } from './utils';\n\nexport function widgetSettingsMapper(widgetSettingsRaw: CDNWidgetSettingsRaw): CDNWidgetSettings {\n const parsedSettings = parseValues<CDNBaseWidgetSettings>(widgetSettingsRaw);\n\n const auto_inject = parsedSettings.auto_inject === undefined ? true : parsedSettings.auto_inject;\n const valid_pages = parsedSettings.display_on ?? [];\n const is_subscription_first = parsedSettings.first_option === 'autodeliver';\n\n return {\n ...omit(parsedSettings, ['display_on', 'first_option']),\n auto_inject,\n valid_pages,\n is_subscription_first,\n autoInject: auto_inject,\n validPages: valid_pages,\n isSubscriptionFirst: is_subscription_first,\n };\n}\n\nexport function productMapper(productRaw: CDNProductRaw): CDNProduct {\n const is_subscription_only = productRaw.subscription_options?.storefront_purchase_options === 'subscription_only';\n return {\n ...productRaw,\n is_subscription_only,\n isSubscriptionOnly: is_subscription_only,\n };\n}\n\nexport function productArrayMapper(\n productsArray: {\n [key: string]: CDNProductRaw;\n }[]\n): CDNProductKeyObject[] {\n return productsArray.map(productObjRaw => {\n const productObj: CDNProductKeyObject = {};\n Object.entries(productObjRaw).forEach(([key, value]) => {\n // defineProperty creates a real own key even for `__proto__`, avoiding prototype pollution\n Object.defineProperty(productObj, key, {\n value: productMapper(value),\n enumerable: true,\n writable: true,\n configurable: true,\n });\n });\n return productObj;\n });\n}\n"],"names":["parseValues","omit"],"mappings":";;;;AAUO,SAAS,qBAAqB,iBAAA,EAA4D;AAC/F,EAAA,MAAM,cAAA,GAAiBA,kBAAmC,iBAAiB,CAAA;AAE3E,EAAA,MAAM,WAAA,GAAc,cAAA,CAAe,WAAA,KAAgB,MAAA,GAAY,OAAO,cAAA,CAAe,WAAA;AACrF,EAAA,MAAM,WAAA,GAAc,cAAA,CAAe,UAAA,IAAc,EAAC;AAClD,EAAA,MAAM,qBAAA,GAAwB,eAAe,YAAA,KAAiB,aAAA;AAE9D,EAAA,OAAO;AAAA,IACL,GAAGC,UAAA,CAAK,cAAA,EAAgB,CAAC,YAAA,EAAc,cAAc,CAAC,CAAA;AAAA,IACtD,WAAA;AAAA,IACA,WAAA;AAAA,IACA,qBAAA;AAAA,IACA,UAAA,EAAY,WAAA;AAAA,IACZ,UAAA,EAAY,WAAA;AAAA,IACZ,mBAAA,EAAqB;AAAA,GACvB;AACF;AAEO,SAAS,cAAc,UAAA,EAAuC;AACnE,EAAA,MAAM,oBAAA,GAAuB,UAAA,CAAW,oBAAA,EAAsB,2BAAA,KAAgC,mBAAA;AAC9F,EAAA,OAAO;AAAA,IACL,GAAG,UAAA;AAAA,IACH,oBAAA;AAAA,IACA,kBAAA,EAAoB;AAAA,GACtB;AACF;AAEO,SAAS,mBACd,aAAA,EAGuB;AACvB,EAAA,OAAO,aAAA,CAAc,IAAI,CAAA,aAAA,KAAiB;AACxC,IAAA,MAAM,aAAkC,EAAC;AACzC,IAAA,MAAA,CAAO,OAAA,CAAQ,aAAa,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AAEtD,MAAA,MAAA,CAAO,cAAA,CAAe,YAAY,GAAA,EAAK;AAAA,QACrC,KAAA,EAAO,cAAc,KAAK,CAAA;AAAA,QAC1B,UAAA,EAAY,IAAA;AAAA,QACZ,QAAA,EAAU,IAAA;AAAA,QACV,YAAA,EAAc;AAAA,OACf,CAAA;AAAA,IACH,CAAC,CAAA;AACD,IAAA,OAAO,UAAA;AAAA,EACT,CAAC,CAAA;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.js","sources":["../../../src/mappers/subscription.ts"],"sourcesContent":["import {\n CreateSubscriptionRequest,\n Subscription,\n SubscriptionStatus,\n Subscription_2021_01,\n UpdateSubscriptionsRequest,\n} from '../types';\nimport { convertToBool, omit } from './utils';\n\nexport function bulkSubscriptionCreateMapper(customer_id: string, createRequest: CreateSubscriptionRequest) {\n return {\n ...omit(createRequest, [\n 'address_id',\n 'external_variant_id',\n 'external_product_id',\n 'charge_interval_frequency',\n 'order_interval_frequency',\n 'price',\n 'status',\n ]),\n customer_id: parseInt(customer_id, 10),\n shopify_variant_id: createRequest.external_variant_id.ecommerce\n ? parseInt(createRequest.external_variant_id.ecommerce, 10)\n : undefined,\n ...(createRequest.charge_interval_frequency\n ? { charge_interval_frequency: `${createRequest.charge_interval_frequency}` }\n : {}),\n ...(createRequest.order_interval_frequency\n ? { order_interval_frequency: `${createRequest.order_interval_frequency}` }\n : {}),\n status: createRequest.status ? createRequest.status.toUpperCase() : undefined,\n };\n}\n\nexport function bulkSubscriptionUpdateMapper(force_update: boolean, updateRequest: UpdateSubscriptionsRequest) {\n return {\n ...omit(updateRequest, [\n 'external_variant_id',\n 'external_product_id',\n 'charge_interval_frequency',\n 'order_interval_frequency',\n 'price',\n 'use_external_variant_defaults',\n ]),\n shopify_variant_id: updateRequest.external_variant_id?.ecommerce\n ? parseInt(updateRequest.external_variant_id.ecommerce, 10)\n : undefined,\n ...(updateRequest.charge_interval_frequency\n ? { charge_interval_frequency: `${updateRequest.charge_interval_frequency}` }\n : undefined),\n ...(updateRequest.order_interval_frequency\n ? { order_interval_frequency: `${updateRequest.order_interval_frequency}` }\n : undefined),\n force_update,\n };\n}\n\nexport function subscriptionMapperOldToNew(old: Subscription_2021_01): Subscription {\n const {\n id,\n address_id,\n customer_id,\n analytics_data,\n cancellation_reason,\n cancellation_reason_comments,\n cancelled_at,\n charge_interval_frequency,\n created_at,\n expire_after_specific_number_of_charges,\n shopify_product_id,\n shopify_variant_id,\n has_queued_charges,\n is_prepaid,\n is_skippable,\n is_swappable,\n max_retries_reached,\n next_charge_scheduled_at,\n order_day_of_month,\n order_day_of_week,\n order_interval_frequency,\n order_interval_unit,\n presentment_currency,\n price,\n product_title,\n properties,\n quantity,\n sku,\n sku_override,\n status,\n updated_at,\n variant_title,\n } = old;\n return {\n id,\n address_id,\n customer_id,\n analytics_data,\n cancellation_reason,\n cancellation_reason_comments,\n cancelled_at,\n charge_interval_frequency: parseInt(charge_interval_frequency, 10),\n created_at,\n expire_after_specific_number_of_charges,\n external_product_id: { ecommerce: `${shopify_product_id}` },\n external_variant_id: { ecommerce: `${shopify_variant_id}` },\n has_queued_charges: convertToBool(has_queued_charges),\n is_prepaid,\n is_skippable,\n is_swappable,\n max_retries_reached: convertToBool(max_retries_reached),\n next_charge_scheduled_at,\n order_day_of_month,\n order_day_of_week,\n order_interval_frequency: parseInt(order_interval_frequency, 10),\n order_interval_unit,\n presentment_currency,\n price: `${price}`,\n product_title: product_title ?? '',\n properties,\n quantity,\n sku,\n sku_override,\n status: status.toLowerCase() as SubscriptionStatus,\n updated_at,\n variant_title,\n } as Subscription;\n}\n"],"names":["omit","convertToBool"],"mappings":";;;;AASgB,SAAA,4BAAA,CAA6B,aAAqB,aAA0C,EAAA;AAC1G,EAAO,OAAA;AAAA,IACL,GAAGA,WAAK,aAAe,EAAA;AAAA,MACrB,YAAA;AAAA,MACA,qBAAA;AAAA,MACA,qBAAA;AAAA,MACA,2BAAA;AAAA,MACA,0BAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,KACD,CAAA;AAAA,IACD,WAAA,EAAa,QAAS,CAAA,WAAA,EAAa,EAAE,CAAA;AAAA,IACrC,kBAAA,EAAoB,cAAc,mBAAoB,CAAA,SAAA,GAClD,SAAS,aAAc,CAAA,mBAAA,CAAoB,SAAW,EAAA,EAAE,CACxD,GAAA,KAAA,CAAA;AAAA,IACJ,GAAI,aAAc,CAAA,yBAAA,GACd,EAAE,yBAAA,EAA2B,GAAG,aAAc,CAAA,yBAAyB,CAAG,CAAA,EAAA,GAC1E,EAAC;AAAA,IACL,GAAI,aAAc,CAAA,wBAAA,GACd,EAAE,wBAAA,EAA0B,GAAG,aAAc,CAAA,wBAAwB,CAAG,CAAA,EAAA,GACxE,EAAC;AAAA,IACL,QAAQ,aAAc,CAAA,MAAA,GAAS,aAAc,CAAA,MAAA,CAAO,aAAgB,GAAA,KAAA,CAAA;AAAA,GACtE,CAAA;AACF,CAAA;AAEgB,SAAA,4BAAA,CAA6B,cAAuB,aAA2C,EAAA;AAC7G,EAAO,OAAA;AAAA,IACL,GAAGA,WAAK,aAAe,EAAA;AAAA,MACrB,qBAAA;AAAA,MACA,qBAAA;AAAA,MACA,2BAAA;AAAA,MACA,0BAAA;AAAA,MACA,OAAA;AAAA,MACA,+BAAA;AAAA,KACD,CAAA;AAAA,IACD,kBAAA,EAAoB,cAAc,mBAAqB,EAAA,SAAA,GACnD,SAAS,aAAc,CAAA,mBAAA,CAAoB,SAAW,EAAA,EAAE,CACxD,GAAA,KAAA,CAAA;AAAA,IACJ,GAAI,cAAc,yBACd,GAAA,EAAE,2BAA2B,CAAG,EAAA,aAAA,CAAc,yBAAyB,CAAA,CAAA,EACvE,GAAA,KAAA,CAAA;AAAA,IACJ,GAAI,cAAc,wBACd,GAAA,EAAE,0BAA0B,CAAG,EAAA,aAAA,CAAc,wBAAwB,CAAA,CAAA,EACrE,GAAA,KAAA,CAAA;AAAA,IACJ,YAAA;AAAA,GACF,CAAA;AACF,CAAA;AAEO,SAAS,2BAA2B,GAAyC,EAAA;AAClF,EAAM,MAAA;AAAA,IACJ,EAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,mBAAA;AAAA,IACA,4BAAA;AAAA,IACA,YAAA;AAAA,IACA,yBAAA;AAAA,IACA,UAAA;AAAA,IACA,uCAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,mBAAA;AAAA,IACA,wBAAA;AAAA,IACA,kBAAA;AAAA,IACA,iBAAA;AAAA,IACA,wBAAA;AAAA,IACA,mBAAA;AAAA,IACA,oBAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAA;AAAA,IACA,YAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA;AAAA,GACE,GAAA,GAAA,CAAA;AACJ,EAAO,OAAA;AAAA,IACL,EAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,mBAAA;AAAA,IACA,4BAAA;AAAA,IACA,YAAA;AAAA,IACA,yBAAA,EAA2B,QAAS,CAAA,yBAAA,EAA2B,EAAE,CAAA;AAAA,IACjE,UAAA;AAAA,IACA,uCAAA;AAAA,IACA,mBAAqB,EAAA,EAAE,SAAW,EAAA,CAAA,EAAG,kBAAkB,CAAG,CAAA,EAAA;AAAA,IAC1D,mBAAqB,EAAA,EAAE,SAAW,EAAA,CAAA,EAAG,kBAAkB,CAAG,CAAA,EAAA;AAAA,IAC1D,kBAAA,EAAoBC,oBAAc,kBAAkB,CAAA;AAAA,IACpD,UAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,mBAAA,EAAqBA,oBAAc,mBAAmB,CAAA;AAAA,IACtD,wBAAA;AAAA,IACA,kBAAA;AAAA,IACA,iBAAA;AAAA,IACA,wBAAA,EAA0B,QAAS,CAAA,wBAAA,EAA0B,EAAE,CAAA;AAAA,IAC/D,mBAAA;AAAA,IACA,oBAAA;AAAA,IACA,KAAA,EAAO,GAAG,KAAK,CAAA,CAAA;AAAA,IACf,eAAe,aAAiB,IAAA,EAAA;AAAA,IAChC,UAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAA;AAAA,IACA,YAAA;AAAA,IACA,MAAA,EAAQ,OAAO,WAAY,EAAA;AAAA,IAC3B,UAAA;AAAA,IACA,aAAA;AAAA,GACF,CAAA;AACF;;;;;;"}
1
+ {"version":3,"file":"subscription.js","sources":["../../../src/mappers/subscription.ts"],"sourcesContent":["import {\n CreateSubscriptionRequest,\n Subscription,\n SubscriptionStatus,\n Subscription_2021_01,\n UpdateSubscriptionsRequest,\n} from '../types';\nimport { convertToBool, omit } from './utils';\n\nexport function bulkSubscriptionCreateMapper(customer_id: string, createRequest: CreateSubscriptionRequest) {\n return {\n ...omit(createRequest, [\n 'address_id',\n 'external_variant_id',\n 'external_product_id',\n 'charge_interval_frequency',\n 'order_interval_frequency',\n 'price',\n 'status',\n ]),\n customer_id: parseInt(customer_id, 10),\n shopify_variant_id: createRequest.external_variant_id.ecommerce\n ? parseInt(createRequest.external_variant_id.ecommerce, 10)\n : undefined,\n ...(createRequest.charge_interval_frequency\n ? { charge_interval_frequency: `${createRequest.charge_interval_frequency}` }\n : {}),\n ...(createRequest.order_interval_frequency\n ? { order_interval_frequency: `${createRequest.order_interval_frequency}` }\n : {}),\n status: createRequest.status ? createRequest.status.toUpperCase() : undefined,\n };\n}\n\nexport function bulkSubscriptionUpdateMapper(force_update: boolean, updateRequest: UpdateSubscriptionsRequest) {\n return {\n ...omit(updateRequest, [\n 'external_variant_id',\n 'external_product_id',\n 'charge_interval_frequency',\n 'order_interval_frequency',\n 'price',\n 'use_external_variant_defaults',\n ]),\n shopify_variant_id: updateRequest.external_variant_id?.ecommerce\n ? parseInt(updateRequest.external_variant_id.ecommerce, 10)\n : undefined,\n ...(updateRequest.charge_interval_frequency\n ? { charge_interval_frequency: `${updateRequest.charge_interval_frequency}` }\n : undefined),\n ...(updateRequest.order_interval_frequency\n ? { order_interval_frequency: `${updateRequest.order_interval_frequency}` }\n : undefined),\n force_update,\n };\n}\n\nexport function subscriptionMapperOldToNew(old: Subscription_2021_01): Subscription {\n const {\n id,\n address_id,\n customer_id,\n analytics_data,\n cancellation_reason,\n cancellation_reason_comments,\n cancelled_at,\n charge_interval_frequency,\n created_at,\n expire_after_specific_number_of_charges,\n shopify_product_id,\n shopify_variant_id,\n has_queued_charges,\n is_prepaid,\n is_skippable,\n is_swappable,\n max_retries_reached,\n next_charge_scheduled_at,\n order_day_of_month,\n order_day_of_week,\n order_interval_frequency,\n order_interval_unit,\n presentment_currency,\n price,\n product_title,\n properties,\n quantity,\n sku,\n sku_override,\n status,\n updated_at,\n variant_title,\n } = old;\n return {\n id,\n address_id,\n customer_id,\n analytics_data,\n cancellation_reason,\n cancellation_reason_comments,\n cancelled_at,\n charge_interval_frequency: parseInt(charge_interval_frequency, 10),\n created_at,\n expire_after_specific_number_of_charges,\n external_product_id: { ecommerce: `${shopify_product_id}` },\n external_variant_id: { ecommerce: `${shopify_variant_id}` },\n has_queued_charges: convertToBool(has_queued_charges),\n is_prepaid,\n is_skippable,\n is_swappable,\n max_retries_reached: convertToBool(max_retries_reached),\n next_charge_scheduled_at,\n order_day_of_month,\n order_day_of_week,\n order_interval_frequency: parseInt(order_interval_frequency, 10),\n order_interval_unit,\n presentment_currency,\n price: `${price}`,\n product_title: product_title ?? '',\n properties,\n quantity,\n sku,\n sku_override,\n status: status.toLowerCase() as SubscriptionStatus,\n updated_at,\n variant_title,\n } as Subscription;\n}\n"],"names":["omit","convertToBool"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/mappers/utils.ts"],"sourcesContent":["import { BooleanLike } from '../types';\n\n/** Trys to parse passed in value. If it doesn't work returns the same passed in value */\nfunction parseValue(value: unknown): any {\n try {\n return JSON.parse(value as string);\n } catch {\n return value;\n }\n}\n\n/** Returns a new object that updates \"string\" values into their correct data type. */\nexport function parseValues<T = any>(json: Record<string, unknown>): T {\n return Object.entries(json).reduce((memo, [key, value]) => {\n return { ...memo, [key]: parseValue(value) };\n }, {}) as T;\n}\n\nexport const convertToBool = (val: BooleanLike) => {\n if (typeof val === 'string') {\n return val !== '0' && val !== 'false';\n }\n\n return !!val;\n};\n\n/**\n * Returns a shallow copy of `obj` with the given keys removed.\n *\n * Reference: lodash.omit\n */\nexport function omit<T extends object, K extends PropertyKey>(obj: T, keys: K[]): Omit<T, Extract<keyof T, K>> {\n const excluded = new Set<PropertyKey>(keys);\n const clone = {} as Record<PropertyKey, unknown>;\n for (const key of Object.keys(obj)) {\n if (!excluded.has(key)) {\n clone[key] = (obj as Record<PropertyKey, unknown>)[key];\n }\n }\n return clone as Omit<T, Extract<keyof T, K>>;\n}\n"],"names":[],"mappings":";;AAGA,SAAS,WAAW,KAAqB,EAAA;AACvC,EAAI,IAAA;AACF,IAAO,OAAA,IAAA,CAAK,MAAM,KAAe,CAAA,CAAA;AAAA,GAC3B,CAAA,MAAA;AACN,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AACF,CAAA;AAGO,SAAS,YAAqB,IAAkC,EAAA;AACrE,EAAO,OAAA,MAAA,CAAO,OAAQ,CAAA,IAAI,CAAE,CAAA,MAAA,CAAO,CAAC,IAAM,EAAA,CAAC,GAAK,EAAA,KAAK,CAAM,KAAA;AACzD,IAAO,OAAA,EAAE,GAAG,IAAM,EAAA,CAAC,GAAG,GAAG,UAAA,CAAW,KAAK,CAAE,EAAA,CAAA;AAAA,GAC7C,EAAG,EAAE,CAAA,CAAA;AACP,CAAA;AAEa,MAAA,aAAA,GAAgB,CAAC,GAAqB,KAAA;AACjD,EAAI,IAAA,OAAO,QAAQ,QAAU,EAAA;AAC3B,IAAO,OAAA,GAAA,KAAQ,OAAO,GAAQ,KAAA,OAAA,CAAA;AAAA,GAChC;AAEA,EAAA,OAAO,CAAC,CAAC,GAAA,CAAA;AACX,EAAA;AAOgB,SAAA,IAAA,CAA8C,KAAQ,IAAyC,EAAA;AAC7G,EAAM,MAAA,QAAA,GAAW,IAAI,GAAA,CAAiB,IAAI,CAAA,CAAA;AAC1C,EAAA,MAAM,QAAQ,EAAC,CAAA;AACf,EAAA,KAAA,MAAW,GAAO,IAAA,MAAA,CAAO,IAAK,CAAA,GAAG,CAAG,EAAA;AAClC,IAAA,IAAI,CAAC,QAAA,CAAS,GAAI,CAAA,GAAG,CAAG,EAAA;AACtB,MAAM,KAAA,CAAA,GAAG,CAAK,GAAA,GAAA,CAAqC,GAAG,CAAA,CAAA;AAAA,KACxD;AAAA,GACF;AACA,EAAO,OAAA,KAAA,CAAA;AACT;;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/mappers/utils.ts"],"sourcesContent":["import { BooleanLike } from '../types';\n\n/** Trys to parse passed in value. If it doesn't work returns the same passed in value */\nfunction parseValue(value: unknown): any {\n try {\n return JSON.parse(value as string);\n } catch {\n return value;\n }\n}\n\n/** Returns a new object that updates \"string\" values into their correct data type. */\nexport function parseValues<T = any>(json: Record<string, unknown>): T {\n return Object.entries(json).reduce((memo, [key, value]) => {\n return { ...memo, [key]: parseValue(value) };\n }, {}) as T;\n}\n\nexport const convertToBool = (val: BooleanLike) => {\n if (typeof val === 'string') {\n return val !== '0' && val !== 'false';\n }\n\n return !!val;\n};\n\n/**\n * Returns a shallow copy of `obj` with the given keys removed.\n *\n * Reference: lodash.omit\n */\nexport function omit<T extends object, K extends PropertyKey>(obj: T, keys: K[]): Omit<T, Extract<keyof T, K>> {\n const excluded = new Set<PropertyKey>(keys);\n const clone = {} as Record<PropertyKey, unknown>;\n for (const key of Object.keys(obj)) {\n if (!excluded.has(key)) {\n clone[key] = (obj as Record<PropertyKey, unknown>)[key];\n }\n }\n return clone as Omit<T, Extract<keyof T, K>>;\n}\n"],"names":[],"mappings":";;AAGA,SAAS,WAAW,KAAA,EAAqB;AACvC,EAAA,IAAI;AACF,IAAA,OAAO,IAAA,CAAK,MAAM,KAAe,CAAA;AAAA,EACnC,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,KAAA;AAAA,EACT;AACF;AAGO,SAAS,YAAqB,IAAA,EAAkC;AACrE,EAAA,OAAO,MAAA,CAAO,OAAA,CAAQ,IAAI,CAAA,CAAE,MAAA,CAAO,CAAC,IAAA,EAAM,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AACzD,IAAA,OAAO,EAAE,GAAG,IAAA,EAAM,CAAC,GAAG,GAAG,UAAA,CAAW,KAAK,CAAA,EAAE;AAAA,EAC7C,CAAA,EAAG,EAAE,CAAA;AACP;AAEO,MAAM,aAAA,GAAgB,CAAC,GAAA,KAAqB;AACjD,EAAA,IAAI,OAAO,QAAQ,QAAA,EAAU;AAC3B,IAAA,OAAO,GAAA,KAAQ,OAAO,GAAA,KAAQ,OAAA;AAAA,EAChC;AAEA,EAAA,OAAO,CAAC,CAAC,GAAA;AACX;AAOO,SAAS,IAAA,CAA8C,KAAQ,IAAA,EAAyC;AAC7G,EAAA,MAAM,QAAA,GAAW,IAAI,GAAA,CAAiB,IAAI,CAAA;AAC1C,EAAA,MAAM,QAAQ,EAAC;AACf,EAAA,KAAA,MAAW,GAAA,IAAO,MAAA,CAAO,IAAA,CAAK,GAAG,CAAA,EAAG;AAClC,IAAA,IAAI,CAAC,QAAA,CAAS,GAAA,CAAI,GAAG,CAAA,EAAG;AACtB,MAAA,KAAA,CAAM,GAAG,CAAA,GAAK,GAAA,CAAqC,GAAG,CAAA;AAAA,IACxD;AAAA,EACF;AACA,EAAA,OAAO,KAAA;AACT;;;;"}