@chemicalluck/recharge-api-node
Version:
ReCharge API Node.js Client
1 lines • 26.2 kB
Source Map (JSON)
{"version":3,"sources":["../src/index.ts","../src/models/error.ts","../src/models/client.ts","../src/models/api/version.ts","../src/api/resource.ts","../src/api/v1/address.ts","../src/api/v1/charge.ts","../src/api/v1/checkout.ts","../src/api/v1/customer.ts","../src/api/v1/order.ts","../src/api/v1/subscription.ts","../src/api/v1/onetime.ts","../src/api/v1/discount.ts","../src/api/v1/webhook.ts","../src/api/v1/metafield.ts","../src/api/v1/shop.ts","../src/api/v1/product.ts","../src/api/v1/async-batch.ts","../src/api/v1/notification.ts","../src/api/v1/token.ts","../src/client.ts"],"sourcesContent":["import * as v1 from \"./api/v1\";\nimport { RechargeClient } from \"./client\";\n\nclass RechargeV1 {\n address: v1.AddressResource;\n charge: v1.ChargeResource;\n checkout: v1.CheckoutResource;\n customer: v1.CustomerResource;\n order: v1.OrderResource;\n subscription: v1.SubscriptionResource;\n onetime: v1.OnetimeResource;\n discount: v1.DiscountResource;\n webhook: v1.WebhookResource;\n metafield: v1.MetafieldResource;\n shop: v1.ShopResource;\n product: v1.ProductResource;\n asyncBatch: v1.AsyncBatchResource;\n notification: v1.NotificationResource;\n token: v1.TokenResource;\n\n constructor(client: RechargeClient) {\n this.address = new v1.AddressResource(client);\n this.charge = new v1.ChargeResource(client);\n this.checkout = new v1.CheckoutResource(client);\n this.customer = new v1.CustomerResource(client);\n this.order = new v1.OrderResource(client);\n this.subscription = new v1.SubscriptionResource(client);\n this.onetime = new v1.OnetimeResource(client);\n this.discount = new v1.DiscountResource(client);\n this.webhook = new v1.WebhookResource(client);\n this.metafield = new v1.MetafieldResource(client);\n this.shop = new v1.ShopResource(client);\n this.product = new v1.ProductResource(client);\n this.asyncBatch = new v1.AsyncBatchResource(client);\n this.notification = new v1.NotificationResource(client);\n this.token = new v1.TokenResource(client);\n }\n}\n\nclass Recharge {\n private client: RechargeClient;\n v1: RechargeV1;\n\n constructor(api_key: string, client?: RechargeClient) {\n this.client = client || new RechargeClient(api_key);\n this.v1 = new RechargeV1(this.client);\n }\n}\n\nexport { Recharge };\nexport * from \"./models\";\n","import { Response } from \"node-fetch\";\n\nclass HTTPResponseError extends Error {\n response: Response;\n\n constructor(response: Response) {\n super(`HTTP Error Response: ${response.status} ${response.statusText}`);\n this.response = response;\n }\n}\n\nclass RechargeAPIError extends Error {\n constructor(message: string) {\n super(`Recharge API Error: ${message}`);\n }\n}\n\nclass NotImplementedError extends Error {\n constructor(message: string) {\n super(`Not Implemented: ${message}`);\n }\n}\n\nexport { HTTPResponseError, RechargeAPIError, NotImplementedError };\n","enum RequestMethod {\n GET = \"GET\",\n POST = \"POST\",\n PUT = \"PUT\",\n DELETE = \"DELETE\"\n}\n\nexport { RequestMethod };\n","enum RechargeAPIVersion {\n v1 = \"2021-01\",\n v2 = \"2021-11\"\n}\n\nexport { RechargeAPIVersion };\n","import { RechargeClient } from \"../client\";\nimport { RechargeAPIVersion } from \"../models\";\n\nabstract class RechargeResource {\n protected readonly base_url: string = \"https://api.rechargeapps.com\";\n protected resource: string | null = null;\n protected recharge_version: RechargeAPIVersion = RechargeAPIVersion.v1;\n protected client: RechargeClient;\n\n protected constructor(client: RechargeClient) {\n this.client = client;\n }\n\n protected get url(): string {\n if (!this.resource) {\n throw new Error(\"Resource not set\");\n }\n return `${this.base_url}/${this.recharge_version}/${this.resource}`;\n }\n\n protected _get<T>(url: string, query?: Record<string, string>): Promise<T> {\n return this.client.get(url, this.recharge_version, query);\n }\n\n protected _post<T>(url: string, body?: unknown): Promise<T> {\n return this.client.post(url, this.recharge_version, body);\n }\n\n protected _put<T>(url: string, body?: unknown): Promise<T> {\n return this.client.put(url, this.recharge_version, body);\n }\n\n protected _delete<T>(url: string, body?: unknown): Promise<T> {\n return this.client.delete(url, this.recharge_version, body);\n }\n\n protected _paginate<T>(\n url: string,\n query?: Record<string, string>\n ): Promise<T[]> {\n return this.client.paginate(url, this.recharge_version, query);\n }\n}\n\nexport default RechargeResource;\n","/* Pending implementation */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport RechargeResource from \"../resource\";\nimport RechargeClient from \"../../client\";\n\nclass AddressResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"addresses\";\n }\n\n create(customerId: number, body: object): Promise<any> {\n return this.client.post(\n `${this.base_url}/customers/${customerId}/${this.resource}`,\n this.recharge_version,\n body\n );\n }\n\n get(addressId: number): Promise<any> {\n return this._get(`${this.url}/${addressId}`);\n }\n\n update(addressId: number, body: object): Promise<any> {\n return this._put(`${this.url}/${addressId}`, body);\n }\n\n delete(addressId: number): Promise<any> {\n return this._delete(`${this.url}/${addressId}`);\n }\n\n list(customerId: number, query?: Record<string, string>): Promise<any> {\n return this._get(\n `${this.base_url}/customers/${customerId}/${this.resource}`,\n query\n );\n }\n\n count(query?: Record<string, string>): Promise<any> {\n return this._get(`${this.url}/count`, query);\n }\n\n validate(body: unknown): Promise<any> {\n return this._post(`${this.url}/validate`, body);\n }\n\n applyDiscount(addressId: number, body: unknown): Promise<any> {\n return this._post(`${this.url}/${addressId}/apply_discount`, body);\n }\n\n removeDiscount(addressId: number): Promise<any> {\n return this._post(`${this.url}/${addressId}/remove_discount`);\n }\n}\n\nexport { AddressResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass ChargeResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"charges\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { ChargeResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass CheckoutResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"checkouts\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { CheckoutResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass CustomerResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"customers\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { CustomerResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass OrderResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"orders\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { OrderResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass SubscriptionResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"subscriptions\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { SubscriptionResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass OnetimeResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"onetimes\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { OnetimeResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass DiscountResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"discounts\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { DiscountResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass WebhookResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"webhooks\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { WebhookResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass MetafieldResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"metafields\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { MetafieldResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass ShopResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"shop\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { ShopResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass ProductResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"products\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { ProductResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass AsyncBatchResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"async_batch\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { AsyncBatchResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass NotificationResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"notifications\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { NotificationResource };\n","import RechargeClient from \"../../client\";\nimport { RechargeAPIVersion } from \"../../models\";\nimport RechargeResource from \"../resource\";\n\nclass TokenResource extends RechargeResource {\n constructor(client: RechargeClient) {\n super(client);\n this.resource = \"token_information\";\n this.recharge_version = RechargeAPIVersion.v1;\n }\n}\n\nexport { TokenResource };\n","import fetch, { Request, Response } from \"node-fetch\";\nimport { RechargeAPIVersion, RequestMethod } from \"./models\";\nimport {\n HTTPResponseError,\n NotImplementedError,\n RechargeAPIError\n} from \"./models/error\";\n\nclass RechargeClient {\n private _headers: Record<string, string> = {};\n private _retries = 0;\n private readonly _maxRetries = 3;\n private readonly _retryDelay = 3000;\n\n constructor(api_key: string) {\n this.headers = {\n \"X-Recharge-Access-Token\": api_key,\n \"X-Recharge-API-Version\": RechargeAPIVersion.v1,\n \"Content-Type\": \"application/json\"\n };\n }\n\n get retries() {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n get maxRetries() {\n return this._maxRetries;\n }\n\n get retryDelay() {\n return this._retryDelay;\n }\n\n public get headers(): Record<string, string> {\n return this._headers;\n }\n public set headers(value: Record<string, string>) {\n this._headers = value;\n }\n\n _setVersion(value: RechargeAPIVersion) {\n this.headers[\"X-Recharge-API-Version\"] = value;\n }\n\n private async _retry(request: Request): Promise<Response> {\n if (this._retries >= this._maxRetries) {\n console.error(\"Max retries reached\");\n throw new RechargeAPIError(\"Max retries reached\");\n }\n\n this.retries++;\n console.info(\n `Retrying: ${this.retries}/${this.maxRetries} retries, waiting ${this.retryDelay}ms...`\n );\n await this._delay(this._retryDelay);\n return this._send(request);\n }\n\n private async _delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n private _constructURL(url: string, query?: Record<string, string>): string {\n const urlWithParams = new URL(url);\n if (query) {\n Object.keys(query).forEach((key) =>\n urlWithParams.searchParams.append(key, query[key])\n );\n }\n return urlWithParams.toString();\n }\n\n private _constructRequestOptions(\n method: RequestMethod,\n json?: unknown\n ): RequestInit {\n return {\n method,\n headers: this.headers,\n body:\n [\"POST\", \"PUT\", \"PATCH\"].includes(method.toUpperCase()) && json\n ? JSON.stringify(json)\n : undefined\n };\n }\n\n async _request(\n method: RequestMethod,\n url: string,\n query?: Record<string, string>,\n json?: unknown\n ): Promise<Response> {\n const urlWithParams = this._constructURL(url, query);\n const options: RequestInit = this._constructRequestOptions(method, json);\n const request = new Request(urlWithParams, options);\n\n return this._send(request);\n }\n\n async _send(request: Request): Promise<Response> {\n const response = await fetch(request);\n\n if (response.status === 429 || response.status >= 500) {\n console.warn(\n response.status === 429\n ? \"Rate limited, retrying...\"\n : \"Server error, retrying...\"\n );\n return this._retry(request);\n }\n this.retries = 0;\n\n if (!response.ok) {\n throw new HTTPResponseError(response);\n }\n\n return response;\n }\n\n async _extractData<T>(response: Response): Promise<T> {\n return response.json() as Promise<T>;\n }\n\n _getNextPageV1(response: Response): string | undefined {\n const link = response.headers.get(\"link\") || \"\";\n const next_cursor = link.match(/<([^>]+)>; rel=\"next\"/);\n if (!next_cursor) {\n return undefined;\n }\n return next_cursor[1];\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _getNextPageV2(_response: Response): string | undefined {\n throw new NotImplementedError(\"getNextPageV2\");\n }\n\n _getNextPage(\n response: Response,\n version: RechargeAPIVersion\n ): string | undefined {\n switch (version) {\n case RechargeAPIVersion.v1:\n return this._getNextPageV1(response);\n case RechargeAPIVersion.v2:\n return this._getNextPageV2(response);\n }\n }\n\n async paginate<T>(\n url: string,\n version: RechargeAPIVersion,\n query?: Record<string, string>\n ): Promise<T[]> {\n this._setVersion(version);\n let data: T[] = [];\n while (url) {\n const response = await this._request(RequestMethod.GET, url, query);\n const responseData = await this._extractData<T[]>(response);\n data = data.concat(responseData);\n url = this._getNextPage(response, version) || \"\";\n }\n return data;\n }\n\n async get<T>(\n url: string,\n version: RechargeAPIVersion,\n query?: Record<string, string>\n ): Promise<T> {\n this._setVersion(version);\n return this._request(RequestMethod.GET, url, query).then(\n this._extractData<T>\n );\n }\n\n async post<T>(\n url: string,\n version: RechargeAPIVersion,\n json?: unknown\n ): Promise<T> {\n this._setVersion(version);\n const response = await this._request(\n RequestMethod.POST,\n url,\n undefined,\n json\n );\n return this._extractData<T>(response);\n }\n\n async put<T>(\n url: string,\n version: RechargeAPIVersion,\n json?: unknown\n ): Promise<T> {\n this._setVersion(version);\n const response = await this._request(\n RequestMethod.PUT,\n url,\n undefined,\n json\n );\n return this._extractData<T>(response);\n }\n\n async delete<T>(\n url: string,\n version: RechargeAPIVersion,\n json?: unknown\n ): Promise<T> {\n this._setVersion(version);\n const response = await this._request(\n RequestMethod.DELETE,\n url,\n undefined,\n json\n );\n return this._extractData<T>(response);\n }\n}\n\nexport { RechargeClient };\nexport default RechargeClient;\n"],"mappings":"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","names":["src_exports","__export","HTTPResponseError","NotImplementedError","Recharge","RechargeAPIError","RechargeAPIVersion","RequestMethod","__toCommonJS","HTTPResponseError","response","RechargeAPIError","message","NotImplementedError","RequestMethod","RechargeAPIVersion","RechargeResource","client","url","query","body","resource_default","AddressResource","resource_default","client","customerId","body","addressId","query","ChargeResource","resource_default","client","CheckoutResource","resource_default","client","CustomerResource","resource_default","client","OrderResource","resource_default","client","SubscriptionResource","resource_default","client","OnetimeResource","resource_default","client","DiscountResource","resource_default","client","WebhookResource","resource_default","client","MetafieldResource","resource_default","client","ShopResource","resource_default","client","ProductResource","resource_default","client","AsyncBatchResource","resource_default","client","NotificationResource","resource_default","client","TokenResource","resource_default","client","import_node_fetch","RechargeClient","api_key","value","request","RechargeAPIError","ms","resolve","url","query","urlWithParams","key","method","json","options","response","fetch","HTTPResponseError","next_cursor","_response","NotImplementedError","version","data","responseData","RechargeV1","client","AddressResource","ChargeResource","CheckoutResource","CustomerResource","OrderResource","SubscriptionResource","OnetimeResource","DiscountResource","WebhookResource","MetafieldResource","ShopResource","ProductResource","AsyncBatchResource","NotificationResource","TokenResource","Recharge","api_key","RechargeClient"]}