@checkoutpage/sdk 0.1.12 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +73 -0
- package/dist/index.d.mts +15228 -706
- package/dist/index.d.ts +15228 -706
- package/dist/index.js +770 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +770 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -4
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors.ts","../src/client.ts","../src/resources/customers/customers.ts","../src/resources/coupons/coupons.ts","../src/resources/payments/payments.ts","../src/resources/subscriptions/subscriptions.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["export class CheckoutPageError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'CheckoutPageError';\n Object.setPrototypeOf(this, CheckoutPageError.prototype);\n }\n}\n\nexport class AuthenticationError extends CheckoutPageError {\n constructor(message = 'Authentication failed. Please check your API key.') {\n super(message);\n this.name = 'AuthenticationError';\n Object.setPrototypeOf(this, AuthenticationError.prototype);\n }\n}\n\nexport class NotFoundError extends CheckoutPageError {\n constructor(message = 'The requested resource was not found.') {\n super(message);\n this.name = 'NotFoundError';\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n\nexport class ConflictError extends CheckoutPageError {\n constructor(message = 'Conflict - the created resource already exists.') {\n super(message);\n this.name = 'ConflictError';\n Object.setPrototypeOf(this, ConflictError.prototype);\n }\n}\n\nexport class RateLimitError extends CheckoutPageError {\n constructor(message = 'Rate limit exceeded. Please try again later.') {\n super(message);\n this.name = 'RateLimitError';\n Object.setPrototypeOf(this, RateLimitError.prototype);\n }\n}\n\nexport class ValidationError extends CheckoutPageError {\n constructor(message = 'Validation failed.') {\n super(message);\n this.name = 'ValidationError';\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\nexport class APIError extends CheckoutPageError {\n public readonly statusCode: number;\n public readonly response?: unknown;\n\n constructor(message: string, statusCode: number, response?: unknown) {\n super(message);\n this.name = 'APIError';\n this.statusCode = statusCode;\n this.response = response;\n Object.setPrototypeOf(this, APIError.prototype);\n }\n}\n","import {\n APIError,\n AuthenticationError,\n ConflictError,\n NotFoundError,\n RateLimitError,\n ValidationError,\n} from './errors';\n\nexport interface CheckoutPageApiClientOptions {\n apiKey: string;\n baseUrl?: string;\n}\n\nexport interface RequestOptions {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n body?: unknown;\n query?: Record<string, string | number | boolean | undefined>;\n}\n\nexport class CheckoutPageApiClient {\n private readonly apiKey: string;\n private readonly baseUrl: string;\n\n constructor(options: CheckoutPageApiClientOptions) {\n if (!options.apiKey) {\n throw new Error('API key is required');\n }\n\n this.apiKey = options.apiKey;\n this.baseUrl = options.baseUrl || 'https://api.checkoutpage.com';\n }\n\n async request<T>(options: RequestOptions): Promise<T> {\n const url = this.buildUrl(options.path, options.query);\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${this.apiKey}`,\n 'Content-Type': 'application/json',\n 'User-Agent': '@checkoutpage/sdk/0.1.0',\n };\n\n const fetchOptions: RequestInit = {\n method: options.method,\n headers,\n };\n\n if (options.body) {\n fetchOptions.body = JSON.stringify(options.body);\n }\n\n const response = await fetch(url, fetchOptions);\n return await this.handleResponse<T>(response);\n }\n\n private buildUrl(\n path: string,\n query?: Record<string, string | number | boolean | undefined>\n ): string {\n const url = new URL(path, this.baseUrl);\n\n if (query) {\n Object.entries(query).forEach(([key, value]) => {\n if (value !== undefined) {\n url.searchParams.append(key, String(value));\n }\n });\n }\n\n return url.toString();\n }\n\n private async handleResponse<T>(response: Response): Promise<T> {\n const contentType = response.headers.get('content-type');\n const isJson = contentType?.includes('application/json');\n\n let data: unknown;\n try {\n data = isJson ? await response.json() : await response.text();\n } catch {\n data = null;\n }\n\n if (!response.ok) {\n const message = this.extractErrorMessage(data);\n\n switch (response.status) {\n case 401:\n case 403:\n throw new AuthenticationError(message);\n case 404:\n throw new NotFoundError(message);\n case 409:\n throw new ConflictError(message);\n case 400:\n case 422:\n throw new ValidationError(message);\n case 429:\n throw new RateLimitError(message);\n default:\n throw new APIError(message, response.status, data);\n }\n }\n\n return data as T;\n }\n\n private extractErrorMessage(data: unknown): string {\n if (typeof data === 'object' && data !== null) {\n if ('message' in data && typeof data.message === 'string') {\n return data.message;\n }\n if ('error' in data && typeof data.error === 'string') {\n return data.error;\n }\n }\n return 'An unexpected error occurred';\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { Customer, CustomerList, CustomerListParams } from '../../types';\n\nexport class CustomerResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async get(customerId: string): Promise<Customer> {\n if (!customerId) {\n throw new Error('Customer ID is required');\n }\n\n return this.client.request<Customer>({\n method: 'GET',\n path: `/v1/customers/${customerId}`,\n });\n }\n\n async list(args: CustomerListParams = {}): Promise<CustomerList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<CustomerList>({\n method: 'GET',\n query,\n path: '/v1/customers/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport {\n CouponList,\n CouponListParams,\n CreateCouponParams,\n CreateCouponResponse,\n} from '../../types';\n\nexport class CouponResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: CouponListParams = {}): Promise<CouponList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<CouponList>({\n method: 'GET',\n query,\n path: '/v1/coupons/',\n });\n }\n\n async create(params: CreateCouponParams): Promise<CreateCouponResponse> {\n const body: Record<string, unknown> = {\n label: params.label,\n code: params.code,\n duration: params.duration,\n };\n\n if (params.duration === 'repeating') {\n body.durationInMonths = (params as any).durationInMonths;\n }\n\n if (params.appliesToSetupFee !== undefined) {\n body.appliesToSetupFee = params.appliesToSetupFee;\n }\n if (params.pageIds !== undefined) {\n body.pageIds = params.pageIds;\n }\n if (params.maxRedemptions !== undefined) {\n body.maxRedemptions = params.maxRedemptions;\n }\n if (params.redeemBy !== undefined) {\n body.redeemBy = params.redeemBy;\n }\n\n if (params.type === 'amount') {\n body.amountOff = params.amountOff;\n body.currency = params.currency;\n } else {\n body.percentOff = params.percentOff;\n }\n\n return this.client.request<CreateCouponResponse>({\n method: 'POST',\n path: '/v1/coupons/',\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { PaymentList, PaymentListParams } from '../../types';\n\nexport class PaymentResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: PaymentListParams = {}): Promise<PaymentList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n status: args.status,\n pageId: args.pageId,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<PaymentList>({\n method: 'GET',\n query,\n path: '/v1/payments/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { SubscriptionList, SubscriptionListParams } from '../../types';\n\nexport class SubscriptionResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: SubscriptionListParams = {}): Promise<SubscriptionList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n pageId: args.pageId,\n status: args.status,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<SubscriptionList>({\n method: 'GET',\n query,\n path: '/v1/subscriptions/',\n });\n }\n}\n","import { CheckoutPageApiClient, CheckoutPageApiClientOptions } from './client';\nimport { CustomerResource } from './resources/customers/customers';\nimport { CouponResource } from './resources/coupons/coupons';\nimport { PaymentResource } from './resources/payments/payments';\nimport { SubscriptionResource } from './resources/subscriptions/subscriptions';\n\nexport class CheckoutPageClient {\n public readonly customers: CustomerResource;\n public readonly coupons: CouponResource;\n public readonly payments: PaymentResource;\n public readonly subscriptions: SubscriptionResource;\n private readonly client: CheckoutPageApiClient;\n\n constructor(options: CheckoutPageApiClientOptions) {\n this.client = new CheckoutPageApiClient(options);\n this.customers = new CustomerResource(this.client);\n this.coupons = new CouponResource(this.client);\n this.payments = new PaymentResource(this.client);\n this.subscriptions = new SubscriptionResource(this.client);\n }\n}\n\nexport const createCheckoutPageClient = (options: CheckoutPageApiClientOptions) => {\n return new CheckoutPageClient(options);\n};\n\n// Export types and errors for convenience\nexport type { CheckoutPageApiClientOptions } from './client';\nexport type {\n Customer,\n Address,\n Shipping,\n Coupon,\n CouponList,\n Payment,\n PaymentList,\n Subscription,\n SubscriptionList,\n} from './types';\nexport {\n CheckoutPageError,\n AuthenticationError,\n NotFoundError,\n ConflictError,\n RateLimitError,\n ValidationError,\n APIError,\n} from './errors';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/errors.ts","../src/client.ts","../src/resources/customers/customers.ts","../src/resources/coupons/coupons.ts","../src/resources/payments/payments.ts","../src/resources/subscriptions/subscriptions.ts","../src/resources/bookings/bookings.ts","../src/resources/tickets/tickets.ts","../src/resources/products/products.ts","../src/resources/files/files.ts","../src/resources/checkout-pages/checkout-pages.ts","../src/resources/events/events.ts","../src/resources/forms/forms.ts","../src/resources/submissions/submissions.ts","../src/resources/tax-rates/tax-rates.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["export class CheckoutPageError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'CheckoutPageError';\n Object.setPrototypeOf(this, CheckoutPageError.prototype);\n }\n}\n\nexport class AuthenticationError extends CheckoutPageError {\n constructor(message = 'Authentication failed. Please check your API key.') {\n super(message);\n this.name = 'AuthenticationError';\n Object.setPrototypeOf(this, AuthenticationError.prototype);\n }\n}\n\nexport class NotFoundError extends CheckoutPageError {\n constructor(message = 'The requested resource was not found.') {\n super(message);\n this.name = 'NotFoundError';\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n\nexport class ConflictError extends CheckoutPageError {\n constructor(message = 'Conflict - the created resource already exists.') {\n super(message);\n this.name = 'ConflictError';\n Object.setPrototypeOf(this, ConflictError.prototype);\n }\n}\n\nexport class RateLimitError extends CheckoutPageError {\n constructor(message = 'Rate limit exceeded. Please try again later.') {\n super(message);\n this.name = 'RateLimitError';\n Object.setPrototypeOf(this, RateLimitError.prototype);\n }\n}\n\nexport class ValidationError extends CheckoutPageError {\n constructor(message = 'Validation failed.') {\n super(message);\n this.name = 'ValidationError';\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\nexport class APIError extends CheckoutPageError {\n public readonly statusCode: number;\n public readonly response?: unknown;\n\n constructor(message: string, statusCode: number, response?: unknown) {\n super(message);\n this.name = 'APIError';\n this.statusCode = statusCode;\n this.response = response;\n Object.setPrototypeOf(this, APIError.prototype);\n }\n}\n","import {\n APIError,\n AuthenticationError,\n ConflictError,\n NotFoundError,\n RateLimitError,\n ValidationError,\n} from './errors';\n\nexport interface CheckoutPageApiClientOptions {\n apiKey: string;\n baseUrl?: string;\n}\n\nexport interface RequestOptions {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n body?: unknown;\n query?: Record<string, string | number | boolean | undefined>;\n formData?: FormData;\n}\n\nexport class CheckoutPageApiClient {\n private readonly apiKey: string;\n private readonly baseUrl: string;\n\n constructor(options: CheckoutPageApiClientOptions) {\n if (!options.apiKey) {\n throw new Error('API key is required');\n }\n\n this.apiKey = options.apiKey;\n this.baseUrl = options.baseUrl || 'https://api.checkoutpage.com';\n }\n\n async request<T>(options: RequestOptions): Promise<T> {\n const url = this.buildUrl(options.path, options.query);\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${this.apiKey}`,\n 'User-Agent': '@checkoutpage/sdk/0.1.0',\n };\n\n // Only set Content-Type for JSON requests (FormData sets its own boundary)\n if (!options.formData) {\n headers['Content-Type'] = 'application/json';\n }\n\n const fetchOptions: RequestInit = {\n method: options.method,\n headers,\n };\n\n if (options.formData) {\n fetchOptions.body = options.formData;\n } else if (options.body) {\n fetchOptions.body = JSON.stringify(options.body);\n }\n\n const response = await fetch(url, fetchOptions);\n return await this.handleResponse<T>(response);\n }\n\n private buildUrl(\n path: string,\n query?: Record<string, string | number | boolean | undefined>\n ): string {\n const url = new URL(path, this.baseUrl);\n\n if (query) {\n Object.entries(query).forEach(([key, value]) => {\n if (value !== undefined) {\n url.searchParams.append(key, String(value));\n }\n });\n }\n\n return url.toString();\n }\n\n private async handleResponse<T>(response: Response): Promise<T> {\n const contentType = response.headers.get('content-type');\n const isJson = contentType?.includes('application/json');\n\n let data: unknown;\n try {\n data = isJson ? await response.json() : await response.text();\n } catch {\n data = null;\n }\n\n if (!response.ok) {\n const message = this.extractErrorMessage(data);\n\n switch (response.status) {\n case 401:\n case 403:\n throw new AuthenticationError(message);\n case 404:\n throw new NotFoundError(message);\n case 409:\n throw new ConflictError(message);\n case 400:\n case 422:\n throw new ValidationError(message);\n case 429:\n throw new RateLimitError(message);\n default:\n throw new APIError(message, response.status, data);\n }\n }\n\n return data as T;\n }\n\n private extractErrorMessage(data: unknown): string {\n if (typeof data === 'object' && data !== null) {\n if ('message' in data && typeof data.message === 'string') {\n return data.message;\n }\n if ('error' in data && typeof data.error === 'string') {\n return data.error;\n }\n }\n return 'An unexpected error occurred';\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { Customer, CustomerList, CustomerListParams } from '../../types';\n\nexport class CustomerResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async get(customerId: string): Promise<Customer> {\n if (!customerId) {\n throw new Error('Customer ID is required');\n }\n\n return this.client.request<Customer>({\n method: 'GET',\n path: `/v1/customers/${customerId}`,\n });\n }\n\n async list(args: CustomerListParams = {}): Promise<CustomerList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<CustomerList>({\n method: 'GET',\n query,\n path: '/v1/customers/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport {\n CouponList,\n CouponListParams,\n CreateCouponParams,\n CreateCouponResponse,\n} from '../../types';\n\nexport class CouponResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: CouponListParams = {}): Promise<CouponList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<CouponList>({\n method: 'GET',\n query,\n path: '/v1/coupons/',\n });\n }\n\n async create(params: CreateCouponParams): Promise<CreateCouponResponse> {\n const body: Record<string, unknown> = {\n label: params.label,\n code: params.code,\n duration: params.duration,\n };\n\n if (params.duration === 'repeating') {\n body.durationInMonths = (params as any).durationInMonths;\n }\n\n if (params.appliesToSetupFee !== undefined) {\n body.appliesToSetupFee = params.appliesToSetupFee;\n }\n if (params.pageIds !== undefined) {\n body.pageIds = params.pageIds;\n }\n if (params.ticketTypeIds !== undefined) {\n body.ticketTypeIds = params.ticketTypeIds;\n }\n if (params.maxRedemptions !== undefined) {\n body.maxRedemptions = params.maxRedemptions;\n }\n if (params.redeemBy !== undefined) {\n body.redeemBy = params.redeemBy;\n }\n\n if (params.type === 'amount') {\n body.amountOff = params.amountOff;\n body.currency = params.currency;\n } else {\n body.percentOff = params.percentOff;\n }\n\n return this.client.request<CreateCouponResponse>({\n method: 'POST',\n path: '/v1/coupons/',\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { PaymentList, PaymentListParams } from '../../types';\n\nexport class PaymentResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: PaymentListParams = {}): Promise<PaymentList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n status: args.status,\n pageId: args.pageId,\n customerId: args.customerId,\n orderId: args.orderId,\n couponCode: args.couponCode,\n productId: args.productId,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n abandonmentStatus: args.abandonmentStatus,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<PaymentList>({\n method: 'GET',\n query,\n path: '/v1/payments/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { SubscriptionList, SubscriptionListParams } from '../../types';\n\nexport class SubscriptionResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: SubscriptionListParams = {}): Promise<SubscriptionList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n pageId: args.pageId,\n status: args.status,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<SubscriptionList>({\n method: 'GET',\n query,\n path: '/v1/subscriptions/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { BookingList, BookingListParams } from '../../types';\n\nexport class BookingResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: BookingListParams = {}): Promise<BookingList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n status: args.status,\n pageId: args.pageId,\n customerId: args.customerId,\n orderId: args.orderId,\n couponCode: args.couponCode,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n abandonmentStatus: args.abandonmentStatus,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<BookingList>({\n method: 'GET',\n query,\n path: '/v1/bookings/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { ValidateTicketData, ValidateTicketParams, ValidateTicketResponse } from '../../types';\n\nexport class TicketResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async validate(qrCode: string, params?: ValidateTicketParams): Promise<ValidateTicketResponse> {\n const body = params || {};\n\n const response = await this.client.request<ValidateTicketData>({\n method: 'POST',\n path: `/v1/tickets/validate/${qrCode}`,\n body,\n });\n\n return response.data;\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { Product, UpdateProductParams } from '../../types';\n\nexport class ProductResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async get(productId: string): Promise<Product> {\n if (!productId) {\n throw new Error('Product ID is required');\n }\n\n return this.client.request<Product>({\n method: 'GET',\n path: `/v1/products/${productId}`,\n });\n }\n\n async update(productId: string, params: UpdateProductParams): Promise<Product> {\n if (!productId) {\n throw new Error('Product ID is required');\n }\n\n const body: Record<string, unknown> = {};\n\n if (params.title !== undefined) {\n body.title = params.title;\n }\n if (params.description !== undefined) {\n body.description = params.description;\n }\n if (params.price !== undefined) {\n body.price = params.price;\n }\n if (params.sku !== undefined) {\n body.sku = params.sku;\n }\n if (params.hasUnlimitedStock !== undefined) {\n body.hasUnlimitedStock = params.hasUnlimitedStock;\n }\n if (params.stock !== undefined) {\n body.stock = params.stock;\n }\n if (params.taxBehavior !== undefined) {\n body.taxBehavior = params.taxBehavior;\n }\n if (params.taxCode !== undefined) {\n body.taxCode = params.taxCode;\n }\n if (params.imageIds !== undefined) {\n body.imageIds = params.imageIds;\n }\n if (params.fileIds !== undefined) {\n body.fileIds = params.fileIds;\n }\n if (params.variantsRequired !== undefined) {\n body.variantsRequired = params.variantsRequired;\n }\n if (params.variants !== undefined) {\n body.variants = params.variants;\n }\n if (params.discounts !== undefined) {\n body.discounts = params.discounts;\n }\n if (params.limitSubscriptions !== undefined) {\n body.limitSubscriptions = params.limitSubscriptions;\n }\n if (params.generateLicenseKeys !== undefined) {\n body.generateLicenseKeys = params.generateLicenseKeys;\n }\n\n return this.client.request<Product>({\n method: 'PATCH',\n path: `/v1/products/${productId}`,\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n DeleteFileResponse,\n DownloadFileResponse,\n UploadFileResponse,\n UploadFileParams,\n} from '../../types';\n\nexport class FileResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async upload(params: UploadFileParams): Promise<UploadFileResponse> {\n if (!params.file) {\n throw new Error('File is required');\n }\n\n if (!params.purpose) {\n throw new Error('Purpose is required');\n }\n\n const formData = new FormData();\n formData.append('file', params.file);\n formData.append('purpose', params.purpose);\n\n return this.client.request<UploadFileResponse>({\n method: 'POST',\n path: '/v1/files/upload',\n formData,\n });\n }\n\n async delete(fileId: string): Promise<DeleteFileResponse> {\n if (!fileId) {\n throw new Error('File ID is required');\n }\n\n return this.client.request<DeleteFileResponse>({\n method: 'DELETE',\n path: `/v1/files/${fileId}`,\n });\n }\n\n async download(fileId: string): Promise<DownloadFileResponse> {\n if (!fileId) {\n throw new Error('File ID is required');\n }\n\n return this.client.request<DownloadFileResponse>({\n method: 'GET',\n path: `/v1/files/${fileId}/download`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n CheckoutPageList,\n CheckoutPageListParams,\n CreateCheckoutPageParams,\n CreateCheckoutPageResponse,\n CheckoutPageResponse,\n UpdateCheckoutPageParams,\n UpdateCheckoutPageResponse,\n DeleteCheckoutPageResponse,\n CheckoutPageFieldDeleteResponse,\n CheckoutPageFieldList,\n CreateCheckoutPageFieldParams,\n UpdateCheckoutPageFieldParams,\n CheckoutPageFieldResponse,\n} from '../../types';\n\nexport class CheckoutPageFieldsResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string): Promise<CheckoutPageFieldList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CheckoutPageFieldList>({\n method: 'GET',\n path: `/v1/checkout-pages/${pageId}/fields`,\n });\n }\n\n async create(\n pageId: string,\n params: CreateCheckoutPageFieldParams\n ): Promise<CheckoutPageFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CheckoutPageFieldResponse>({\n method: 'POST',\n path: `/v1/checkout-pages/${pageId}/fields`,\n body: params,\n });\n }\n\n async get(pageId: string, fieldId: string): Promise<CheckoutPageFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<CheckoutPageFieldResponse>({\n method: 'GET',\n path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`,\n });\n }\n\n async update(\n pageId: string,\n fieldId: string,\n params: UpdateCheckoutPageFieldParams\n ): Promise<CheckoutPageFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<CheckoutPageFieldResponse>({\n method: 'PATCH',\n path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`,\n body: params,\n });\n }\n\n async delete(\n pageId: string,\n fieldId: string\n ): Promise<{ data: CheckoutPageFieldDeleteResponse }> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n const response = await this.client.request<{ data: CheckoutPageFieldDeleteResponse }>({\n method: 'DELETE',\n path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`,\n });\n\n return response;\n }\n}\n\nexport class CheckoutPagesResource {\n public readonly fields: CheckoutPageFieldsResource;\n private readonly client: CheckoutPageApiClient;\n\n constructor(client: CheckoutPageApiClient) {\n this.client = client;\n this.fields = new CheckoutPageFieldsResource(client);\n }\n\n async list(args: CheckoutPageListParams = {}): Promise<CheckoutPageList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n status: args.status,\n search: args.search,\n };\n\n return this.client.request<CheckoutPageList>({\n method: 'GET',\n path: '/v1/checkout-pages/',\n query,\n });\n }\n\n async create(params: CreateCheckoutPageParams): Promise<CreateCheckoutPageResponse> {\n return this.client.request<CreateCheckoutPageResponse>({\n method: 'POST',\n path: '/v1/checkout-pages/',\n body: params,\n });\n }\n\n async get(pageId: string): Promise<CheckoutPageResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CheckoutPageResponse>({\n method: 'GET',\n path: `/v1/checkout-pages/${pageId}`,\n });\n }\n\n async update(\n pageId: string,\n params: UpdateCheckoutPageParams\n ): Promise<UpdateCheckoutPageResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<UpdateCheckoutPageResponse>({\n method: 'PATCH',\n path: `/v1/checkout-pages/${pageId}`,\n body: params,\n });\n }\n\n async delete(pageId: string): Promise<DeleteCheckoutPageResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<DeleteCheckoutPageResponse>({\n method: 'DELETE',\n path: `/v1/checkout-pages/${pageId}`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n EventList,\n EventListParams,\n CreateEventParams,\n CreateEventResponse,\n EventResponse,\n UpdateEventParams,\n UpdateEventResponse,\n DeleteEventResponse,\n EventTicketGroupList,\n EventTicketGroupResponse,\n CreateEventTicketGroupParams,\n CreateEventTicketGroupResponse,\n UpdateEventTicketGroupParams,\n UpdateEventTicketGroupResponse,\n DeleteEventTicketGroupResponse,\n EventTicketTypeList,\n EventTicketTypeResponse,\n CreateEventTicketTypeParams,\n CreateEventTicketTypeResponse,\n UpdateEventTicketTypeParams,\n UpdateEventTicketTypeResponse,\n DeleteEventTicketTypeResponse,\n EventFieldList,\n EventFieldResponse,\n CreateEventFieldParams,\n UpdateEventFieldParams,\n EventFieldDeleteResponse,\n} from '../../types';\n\nexport class EventFieldsResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string): Promise<EventFieldList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventFieldList>({\n method: 'GET',\n path: `/v1/events/${pageId}/fields`,\n });\n }\n\n async create(pageId: string, params: CreateEventFieldParams): Promise<EventFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventFieldResponse>({\n method: 'POST',\n path: `/v1/events/${pageId}/fields`,\n body: params,\n });\n }\n\n async get(pageId: string, fieldId: string): Promise<EventFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<EventFieldResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}/fields/${fieldId}`,\n });\n }\n\n async update(\n pageId: string,\n fieldId: string,\n params: UpdateEventFieldParams\n ): Promise<EventFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<EventFieldResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}/fields/${fieldId}`,\n body: params,\n });\n }\n\n async delete(pageId: string, fieldId: string): Promise<{ data: EventFieldDeleteResponse }> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<{ data: EventFieldDeleteResponse }>({\n method: 'DELETE',\n path: `/v1/events/${pageId}/fields/${fieldId}`,\n });\n }\n}\n\nexport class EventTicketTypesResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string, ticketGroupId: string): Promise<EventTicketTypeList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<EventTicketTypeList>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types`,\n });\n }\n\n async create(\n pageId: string,\n ticketGroupId: string,\n params: CreateEventTicketTypeParams\n ): Promise<CreateEventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<CreateEventTicketTypeResponse>({\n method: 'POST',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types`,\n body: params,\n });\n }\n\n async get(\n pageId: string,\n ticketGroupId: string,\n ticketTypeId: string\n ): Promise<EventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n if (!ticketTypeId) {\n throw new Error('Ticket type ID is required');\n }\n\n return this.client.request<EventTicketTypeResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types/${ticketTypeId}`,\n });\n }\n\n async update(\n pageId: string,\n ticketGroupId: string,\n ticketTypeId: string,\n params: UpdateEventTicketTypeParams\n ): Promise<UpdateEventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n if (!ticketTypeId) {\n throw new Error('Ticket type ID is required');\n }\n\n return this.client.request<UpdateEventTicketTypeResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types/${ticketTypeId}`,\n body: params,\n });\n }\n\n async delete(\n pageId: string,\n ticketGroupId: string,\n ticketTypeId: string\n ): Promise<DeleteEventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n if (!ticketTypeId) {\n throw new Error('Ticket type ID is required');\n }\n\n return this.client.request<DeleteEventTicketTypeResponse>({\n method: 'DELETE',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types/${ticketTypeId}`,\n });\n }\n}\n\nexport class EventTicketGroupsResource {\n public readonly ticketTypes: EventTicketTypesResource;\n\n constructor(private client: CheckoutPageApiClient) {\n this.ticketTypes = new EventTicketTypesResource(client);\n }\n\n async list(pageId: string): Promise<EventTicketGroupList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventTicketGroupList>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups`,\n });\n }\n\n async create(\n pageId: string,\n params: CreateEventTicketGroupParams\n ): Promise<CreateEventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CreateEventTicketGroupResponse>({\n method: 'POST',\n path: `/v1/events/${pageId}/ticket-groups`,\n body: params,\n });\n }\n\n async get(pageId: string, ticketGroupId: string): Promise<EventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<EventTicketGroupResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}`,\n });\n }\n\n async update(\n pageId: string,\n ticketGroupId: string,\n params: UpdateEventTicketGroupParams\n ): Promise<UpdateEventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<UpdateEventTicketGroupResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}`,\n body: params,\n });\n }\n\n async delete(pageId: string, ticketGroupId: string): Promise<DeleteEventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<DeleteEventTicketGroupResponse>({\n method: 'DELETE',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}`,\n });\n }\n}\n\nexport class EventsResource {\n public readonly ticketGroups: EventTicketGroupsResource;\n public readonly fields: EventFieldsResource;\n\n constructor(private client: CheckoutPageApiClient) {\n this.ticketGroups = new EventTicketGroupsResource(client);\n this.fields = new EventFieldsResource(client);\n }\n\n async list(args: EventListParams = {}): Promise<EventList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n status: args.status,\n search: args.search,\n };\n\n return this.client.request<EventList>({\n method: 'GET',\n path: '/v1/events/',\n query,\n });\n }\n\n async create(params: CreateEventParams): Promise<CreateEventResponse> {\n return this.client.request<CreateEventResponse>({\n method: 'POST',\n path: '/v1/events/',\n body: params,\n });\n }\n\n async get(pageId: string): Promise<EventResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}`,\n });\n }\n\n async update(pageId: string, params: UpdateEventParams): Promise<UpdateEventResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<UpdateEventResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}`,\n body: params,\n });\n }\n\n async delete(pageId: string): Promise<DeleteEventResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<DeleteEventResponse>({\n method: 'DELETE',\n path: `/v1/events/${pageId}`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n FormList,\n FormListParams,\n CreateFormParams,\n CreateFormResponse,\n FormResponse,\n UpdateFormParams,\n UpdateFormResponse,\n DeleteFormResponse,\n FormFieldList,\n CreateFormFieldParams,\n UpdateFormFieldParams,\n FormFieldResponse,\n FormFieldDeleteResponse,\n} from '../../types';\n\nexport class FormFieldsResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string): Promise<FormFieldList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<FormFieldList>({\n method: 'GET',\n path: `/v1/forms/${pageId}/fields`,\n });\n }\n\n async create(pageId: string, params: CreateFormFieldParams): Promise<FormFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<FormFieldResponse>({\n method: 'POST',\n path: `/v1/forms/${pageId}/fields`,\n body: params,\n });\n }\n\n async get(pageId: string, fieldId: string): Promise<FormFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<FormFieldResponse>({\n method: 'GET',\n path: `/v1/forms/${pageId}/fields/${fieldId}`,\n });\n }\n\n async update(\n pageId: string,\n fieldId: string,\n params: UpdateFormFieldParams\n ): Promise<FormFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<FormFieldResponse>({\n method: 'PATCH',\n path: `/v1/forms/${pageId}/fields/${fieldId}`,\n body: params,\n });\n }\n\n async delete(pageId: string, fieldId: string): Promise<{ data: FormFieldDeleteResponse }> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<{ data: FormFieldDeleteResponse }>({\n method: 'DELETE',\n path: `/v1/forms/${pageId}/fields/${fieldId}`,\n });\n }\n}\n\nexport class FormsResource {\n public readonly fields: FormFieldsResource;\n constructor(private client: CheckoutPageApiClient) {\n this.fields = new FormFieldsResource(client);\n }\n\n async list(args: FormListParams = {}): Promise<FormList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n status: args.status,\n search: args.search,\n };\n\n return this.client.request<FormList>({\n method: 'GET',\n path: '/v1/forms/',\n query,\n });\n }\n\n async create(params: CreateFormParams): Promise<CreateFormResponse> {\n return this.client.request<CreateFormResponse>({\n method: 'POST',\n path: '/v1/forms/',\n body: params,\n });\n }\n\n async get(pageId: string): Promise<FormResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<FormResponse>({\n method: 'GET',\n path: `/v1/forms/${pageId}`,\n });\n }\n\n async update(pageId: string, params: UpdateFormParams): Promise<UpdateFormResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<UpdateFormResponse>({\n method: 'PATCH',\n path: `/v1/forms/${pageId}`,\n body: params,\n });\n }\n\n async delete(pageId: string): Promise<DeleteFormResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<DeleteFormResponse>({\n method: 'DELETE',\n path: `/v1/forms/${pageId}`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { SubmissionList, SubmissionListParams, SubmissionResponse } from '../../types';\n\nexport class SubmissionResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async get(submissionId: string): Promise<SubmissionResponse> {\n if (!submissionId) {\n throw new Error('Submission ID is required');\n }\n\n return this.client.request<SubmissionResponse>({\n method: 'GET',\n path: `/v1/submissions/${submissionId}`,\n });\n }\n\n async list(args: SubmissionListParams = {}): Promise<SubmissionList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n pageId: args.pageId,\n customerId: args.customerId,\n status: args.status,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<SubmissionList>({\n method: 'GET',\n path: '/v1/submissions/',\n query,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n TaxRateList,\n TaxRateResponse,\n CreateTaxRateParams,\n UpdateTaxRateParams,\n} from '../../types';\n\nexport class TaxRateResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(): Promise<TaxRateList> {\n return this.client.request<TaxRateList>({\n method: 'GET',\n path: '/v1/tax-rates/',\n });\n }\n\n async create(params: CreateTaxRateParams): Promise<TaxRateResponse> {\n const body: Record<string, unknown> = {\n displayName: params.displayName,\n inclusive: params.inclusive,\n percentage: params.percentage,\n };\n\n if (params.default !== undefined) {\n body.default = params.default;\n }\n\n return this.client.request<TaxRateResponse>({\n method: 'POST',\n path: '/v1/tax-rates/',\n body,\n });\n }\n\n async update(taxRateId: string, params: UpdateTaxRateParams): Promise<TaxRateResponse> {\n if (!taxRateId) {\n throw new Error('Tax rate ID is required');\n }\n\n const body: Record<string, unknown> = {};\n\n if (params.displayName !== undefined) {\n body.displayName = params.displayName;\n }\n if (params.default !== undefined) {\n body.default = params.default;\n }\n\n return this.client.request<TaxRateResponse>({\n method: 'PATCH',\n path: `/v1/tax-rates/${taxRateId}`,\n body,\n });\n }\n}\n","import { CheckoutPageApiClient, CheckoutPageApiClientOptions } from './client';\nimport { CustomerResource } from './resources/customers/customers';\nimport { CouponResource } from './resources/coupons/coupons';\nimport { PaymentResource } from './resources/payments/payments';\nimport { SubscriptionResource } from './resources/subscriptions/subscriptions';\nimport { BookingResource } from './resources/bookings/bookings';\nimport { TicketResource } from './resources/tickets/tickets';\nimport { ProductResource } from './resources/products/products';\nimport { FileResource } from './resources/files/files';\nimport { CheckoutPagesResource } from './resources/checkout-pages/checkout-pages';\nimport { EventsResource } from './resources/events/events';\nimport { FormsResource } from './resources/forms/forms';\nimport { SubmissionResource } from './resources/submissions/submissions';\nimport { TaxRateResource } from './resources/tax-rates/tax-rates';\n\nexport class CheckoutPageClient {\n public readonly customers: CustomerResource;\n public readonly coupons: CouponResource;\n public readonly payments: PaymentResource;\n public readonly subscriptions: SubscriptionResource;\n public readonly bookings: BookingResource;\n public readonly tickets: TicketResource;\n public readonly products: ProductResource;\n public readonly files: FileResource;\n public readonly checkoutPages: CheckoutPagesResource;\n public readonly events: EventsResource;\n public readonly forms: FormsResource;\n public readonly submissions: SubmissionResource;\n public readonly taxRates: TaxRateResource;\n private readonly client: CheckoutPageApiClient;\n\n constructor(options: CheckoutPageApiClientOptions) {\n this.client = new CheckoutPageApiClient(options);\n this.customers = new CustomerResource(this.client);\n this.coupons = new CouponResource(this.client);\n this.payments = new PaymentResource(this.client);\n this.subscriptions = new SubscriptionResource(this.client);\n this.bookings = new BookingResource(this.client);\n this.tickets = new TicketResource(this.client);\n this.products = new ProductResource(this.client);\n this.files = new FileResource(this.client);\n this.checkoutPages = new CheckoutPagesResource(this.client);\n this.events = new EventsResource(this.client);\n this.forms = new FormsResource(this.client);\n this.submissions = new SubmissionResource(this.client);\n this.taxRates = new TaxRateResource(this.client);\n }\n}\n\nexport const createCheckoutPageClient = (options: CheckoutPageApiClientOptions) => {\n return new CheckoutPageClient(options);\n};\n\n// Export types and errors for convenience\nexport type { CheckoutPageApiClientOptions } from './client';\nexport type {\n Customer,\n Submission,\n SubmissionResponse,\n SubmissionList,\n SubmissionListParams,\n Address,\n Shipping,\n Coupon,\n CouponList,\n Payment,\n PaymentList,\n Subscription,\n SubscriptionList,\n ValidateTicketResponse,\n ValidateTicketParams,\n Product,\n UpdateProductParams,\n Event,\n EventList,\n EventListParams,\n CreateEventParams,\n CreateEventResponse,\n EventResponse,\n UpdateEventParams,\n UpdateEventResponse,\n DeleteEventResponse,\n EventTicketGroup,\n EventTicketGroupList,\n EventTicketGroupResponse,\n CreateEventTicketGroupParams,\n CreateEventTicketGroupResponse,\n UpdateEventTicketGroupParams,\n UpdateEventTicketGroupResponse,\n DeleteEventTicketGroupResponse,\n EventTicketType,\n EventTicketTypeList,\n EventTicketTypeResponse,\n CreateEventTicketTypeParams,\n CreateEventTicketTypeResponse,\n UpdateEventTicketTypeParams,\n UpdateEventTicketTypeResponse,\n DeleteEventTicketTypeResponse,\n EventField,\n EventFieldList,\n CreateEventFieldParams,\n UpdateEventFieldParams,\n EventFieldResponse,\n EventFieldDeleteResponse,\n Form,\n FormList,\n FormListParams,\n CreateFormParams,\n CreateFormResponse,\n FormResponse,\n UpdateFormParams,\n UpdateFormResponse,\n DeleteFormResponse,\n FormField,\n FormFieldList,\n CreateFormFieldParams,\n UpdateFormFieldParams,\n FormFieldDeleteResponse,\n CheckoutPage,\n CheckoutPageList,\n CheckoutPageListParams,\n CreateCheckoutPageParams,\n CreateCheckoutPageResponse,\n CheckoutPageResponse,\n UpdateCheckoutPageParams,\n UpdateCheckoutPageResponse,\n DeleteCheckoutPageResponse,\n CheckoutPageField,\n CheckoutPageFieldList,\n CreateCheckoutPageFieldParams,\n UpdateCheckoutPageFieldParams,\n CheckoutPageFieldDeleteResponse,\n UploadFileResponse,\n UploadFileParams,\n DeleteFileResponse,\n DownloadFileResponse,\n TaxRate,\n TaxRateList,\n TaxRateResponse,\n CreateTaxRateParams,\n UpdateTaxRateParams,\n} from './types';\nexport {\n CheckoutPageError,\n AuthenticationError,\n NotFoundError,\n ConflictError,\n RateLimitError,\n ValidationError,\n APIError,\n} from './errors';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@checkoutpage/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.21",
|
|
4
4
|
"description": "Official JavaScript SDK for the Checkout Page API",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -19,8 +19,7 @@
|
|
|
19
19
|
"build": "tsup",
|
|
20
20
|
"test": "vitest run --exclude '**/*.integration.test.ts'",
|
|
21
21
|
"test:unit": "vitest run --exclude '**/*.integration.test.ts'",
|
|
22
|
-
"test:integration": "NODE_OPTIONS
|
|
23
|
-
"test:integration:custom": "NODE_OPTIONS='--use-system-ca' vitest run",
|
|
22
|
+
"test:integration": "sh -c 'target=\"$1\"; if [ -z \"$target\" ]; then NODE_OPTIONS=\"--use-system-ca\" vitest run src/resources/**/*.integration.test.ts; elif [ -f \"$target\" ]; then NODE_OPTIONS=\"--use-system-ca\" vitest run \"$target\"; else name=\"${target%.integration}\"; dir=\"${name%%.*}\"; NODE_OPTIONS=\"--use-system-ca\" vitest run \"src/resources/$dir/$name.integration.test.ts\"; fi' --",
|
|
24
23
|
"test:all": "NODE_OPTIONS='--use-system-ca' vitest run",
|
|
25
24
|
"test:watch": "vitest --exclude '**/*.integration.test.ts'",
|
|
26
25
|
"lint": "eslint src --ext .ts",
|
|
@@ -38,7 +37,7 @@
|
|
|
38
37
|
"license": "MIT",
|
|
39
38
|
"repository": {
|
|
40
39
|
"type": "git",
|
|
41
|
-
"url": "https://github.com/checkout-page/checkoutpage-api-sdk.git",
|
|
40
|
+
"url": "git+https://github.com/checkout-page/checkoutpage-api-sdk.git",
|
|
42
41
|
"directory": "js"
|
|
43
42
|
},
|
|
44
43
|
"publishConfig": {
|