kobana 0.1.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.
- package/README.md +230 -0
- package/dist/index.d.mts +443 -0
- package/dist/index.d.ts +443 -0
- package/dist/index.js +863 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +843 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/configuration.ts","../src/errors.ts","../src/utils/string.ts","../src/utils/object.ts","../src/resources/connection.ts","../src/resources/base.ts","../src/resources/charge/pix.ts","../src/resources/charge/bank-billet.ts","../src/resources/financial/bank-billet-account.ts","../src/client.ts"],"names":["axios"],"mappings":"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","file":"index.js","sourcesContent":["import type {\n Environment,\n ApiVersion,\n ConfigurationOptions,\n ConfigurationInterface,\n} from './types/configuration';\n\nconst BASE_URLS: Record<ApiVersion, Record<Environment, string>> = {\n v1: {\n sandbox: 'https://api-sandbox.kobana.com.br/v1',\n production: 'https://api.kobana.com.br/v1',\n },\n v2: {\n sandbox: 'https://api-sandbox.kobana.com.br/v2',\n production: 'https://api.kobana.com.br/v2',\n },\n};\n\nexport class Configuration implements ConfigurationInterface {\n public apiToken: string;\n public environment: Environment;\n public apiVersion: ApiVersion;\n public customHeaders: Record<string, string>;\n public debug: boolean;\n\n constructor(options: ConfigurationOptions) {\n this.apiToken = options.apiToken;\n this.environment = options.environment || 'sandbox';\n this.apiVersion = options.apiVersion || 'v1';\n this.customHeaders = options.customHeaders || {};\n this.debug = options.debug || false;\n }\n\n getBaseUrl(): string {\n return BASE_URLS[this.apiVersion][this.environment];\n }\n\n getHeaders(): Record<string, string> {\n return {\n Authorization: `Bearer ${this.apiToken}`,\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...this.customHeaders,\n };\n }\n\n toString(): string {\n return `Configuration { environment: ${this.environment}, apiVersion: ${this.apiVersion}, apiToken: [REDACTED] }`;\n }\n\n toJSON(): Record<string, unknown> {\n return {\n environment: this.environment,\n apiVersion: this.apiVersion,\n customHeaders: this.customHeaders,\n debug: this.debug,\n apiToken: '[REDACTED]',\n };\n }\n}\n","export class KobanaError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'KobanaError';\n Object.setPrototypeOf(this, KobanaError.prototype);\n }\n}\n\nexport class ConfigurationError extends KobanaError {\n constructor(message: string) {\n super(message);\n this.name = 'ConfigurationError';\n Object.setPrototypeOf(this, ConfigurationError.prototype);\n }\n}\n\nexport class ConnectionError extends KobanaError {\n constructor(message: string) {\n super(message);\n this.name = 'ConnectionError';\n Object.setPrototypeOf(this, ConnectionError.prototype);\n }\n}\n\nexport class ResourceNotFoundError extends KobanaError {\n constructor(message = 'Resource not found') {\n super(message);\n this.name = 'ResourceNotFoundError';\n Object.setPrototypeOf(this, ResourceNotFoundError.prototype);\n }\n}\n\nexport class UnauthorizedError extends KobanaError {\n constructor(message = 'Unauthorized: Invalid or missing API token') {\n super(message);\n this.name = 'UnauthorizedError';\n Object.setPrototypeOf(this, UnauthorizedError.prototype);\n }\n}\n\nexport class ValidationError extends KobanaError {\n public readonly errors: string[];\n\n constructor(message: string, errors: string[] = []) {\n super(message);\n this.name = 'ValidationError';\n this.errors = errors;\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\nexport class APIError extends KobanaError {\n public readonly status: number;\n public readonly responseBody: unknown;\n public readonly errors: string[];\n\n constructor(options: {\n message?: string;\n status: number;\n responseBody?: unknown;\n errors?: string[];\n }) {\n const message = options.message || `API request failed with status ${options.status}`;\n super(message);\n this.name = 'APIError';\n this.status = options.status;\n this.responseBody = options.responseBody;\n this.errors = options.errors || [];\n Object.setPrototypeOf(this, APIError.prototype);\n }\n}\n","/**\n * Convert a string from camelCase or PascalCase to snake_case\n */\nexport function toSnakeCase(str: string): string {\n return str\n .replace(/([A-Z])/g, '_$1')\n .toLowerCase()\n .replace(/^_/, '');\n}\n\n/**\n * Convert a string from snake_case to camelCase\n */\nexport function toCamelCase(str: string): string {\n return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n\n/**\n * Convert a string from snake_case or camelCase to PascalCase\n */\nexport function toPascalCase(str: string): string {\n const camel = toCamelCase(str);\n return camel.charAt(0).toUpperCase() + camel.slice(1);\n}\n\n/**\n * Interpolate template variables in a string\n * Example: interpolate('/users/:id', { id: '123' }) => '/users/123'\n */\nexport function interpolate(\n template: string,\n values: Record<string, string | number | undefined>\n): string {\n return template.replace(/:(\\w+)/g, (_, key) => {\n const value = values[key];\n return value !== undefined ? String(value) : `:${key}`;\n });\n}\n","import { toSnakeCase, toCamelCase } from './string';\n\n/**\n * Transform object keys using a transformation function\n */\nexport function transformKeys<T extends Record<string, unknown>>(\n obj: T,\n transformer: (key: string) => string\n): Record<string, unknown> {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) =>\n typeof item === 'object' && item !== null\n ? transformKeys(item as Record<string, unknown>, transformer)\n : item\n ) as unknown as Record<string, unknown>;\n }\n\n const result: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(obj)) {\n const newKey = transformer(key);\n if (typeof value === 'object' && value !== null) {\n result[newKey] = transformKeys(value as Record<string, unknown>, transformer);\n } else {\n result[newKey] = value;\n }\n }\n\n return result;\n}\n\n/**\n * Convert object keys from camelCase to snake_case\n */\nexport function keysToSnakeCase<T extends Record<string, unknown>>(\n obj: T\n): Record<string, unknown> {\n return transformKeys(obj, toSnakeCase);\n}\n\n/**\n * Convert object keys from snake_case to camelCase\n */\nexport function keysToCamelCase<T extends Record<string, unknown>>(\n obj: T\n): Record<string, unknown> {\n return transformKeys(obj, toCamelCase);\n}\n\n/**\n * Remove undefined values from an object\n */\nexport function compact<T extends Record<string, unknown>>(obj: T): Partial<T> {\n const result: Partial<T> = {};\n\n for (const [key, value] of Object.entries(obj)) {\n if (value !== undefined) {\n (result as Record<string, unknown>)[key] = value;\n }\n }\n\n return result;\n}\n","import axios, { AxiosInstance, AxiosError, AxiosRequestConfig } from 'axios';\nimport type { Configuration } from '../configuration';\nimport type { ApiResponse, RequestOptions } from '../types/api';\nimport {\n APIError,\n ConnectionError,\n UnauthorizedError,\n ResourceNotFoundError,\n} from '../errors';\nimport { keysToSnakeCase, keysToCamelCase } from '../utils/object';\n\nexport class Connection {\n private axiosInstance: AxiosInstance | null = null;\n private configuration: Configuration;\n\n constructor(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n private getAxiosInstance(): AxiosInstance {\n if (this.axiosInstance && !this.configuration.debug) {\n return this.axiosInstance;\n }\n\n this.axiosInstance = axios.create({\n baseURL: this.configuration.getBaseUrl(),\n headers: this.configuration.getHeaders(),\n timeout: 30000,\n });\n\n return this.axiosInstance;\n }\n\n async request<T>(\n method: 'get' | 'post' | 'put' | 'patch' | 'delete',\n url: string,\n data?: Record<string, unknown>,\n options: RequestOptions = {}\n ): Promise<ApiResponse<T>> {\n const config: AxiosRequestConfig = {\n method,\n url,\n };\n\n if (options.idempotencyKey) {\n config.headers = {\n ...config.headers,\n 'X-Idempotency-Key': options.idempotencyKey,\n };\n }\n\n if (data) {\n const transformedData = keysToSnakeCase(data);\n if (method === 'get') {\n config.params = transformedData;\n } else {\n config.data = transformedData;\n }\n }\n\n try {\n const response = await this.getAxiosInstance().request(config);\n const responseData = response.data\n ? keysToCamelCase(response.data as Record<string, unknown>)\n : response.data;\n\n return {\n data: responseData as T,\n status: response.status,\n headers: response.headers as Record<string, string>,\n };\n } catch (error) {\n throw this.handleError(error);\n }\n }\n\n async get<T>(\n url: string,\n params?: Record<string, unknown>,\n options?: RequestOptions\n ): Promise<ApiResponse<T>> {\n return this.request<T>('get', url, params, options);\n }\n\n async post<T>(\n url: string,\n data?: Record<string, unknown>,\n options?: RequestOptions\n ): Promise<ApiResponse<T>> {\n return this.request<T>('post', url, data, options);\n }\n\n async put<T>(\n url: string,\n data?: Record<string, unknown>,\n options?: RequestOptions\n ): Promise<ApiResponse<T>> {\n return this.request<T>('put', url, data, options);\n }\n\n async patch<T>(\n url: string,\n data?: Record<string, unknown>,\n options?: RequestOptions\n ): Promise<ApiResponse<T>> {\n return this.request<T>('patch', url, data, options);\n }\n\n async delete<T>(url: string, options?: RequestOptions): Promise<ApiResponse<T>> {\n return this.request<T>('delete', url, undefined, options);\n }\n\n private handleError(error: unknown): Error {\n if (axios.isAxiosError(error)) {\n const axiosError = error as AxiosError<{\n errors?: Array<{ message: string }>;\n error?: string;\n message?: string;\n }>;\n\n if (!axiosError.response) {\n return new ConnectionError(\n axiosError.message || 'Network error: Unable to connect to API'\n );\n }\n\n const { status, data } = axiosError.response;\n\n const errors: string[] = [];\n if (data?.errors && Array.isArray(data.errors)) {\n errors.push(...data.errors.map((e) => e.message || String(e)));\n } else if (data?.error) {\n errors.push(data.error);\n } else if (data?.message) {\n errors.push(data.message);\n }\n\n switch (status) {\n case 401:\n return new UnauthorizedError(errors[0]);\n case 404:\n return new ResourceNotFoundError(errors[0]);\n default:\n return new APIError({\n status,\n responseBody: data,\n errors,\n message: errors[0],\n });\n }\n }\n\n if (error instanceof Error) {\n return new ConnectionError(error.message);\n }\n\n return new ConnectionError('An unknown error occurred');\n }\n}\n","import type { Connection } from './connection';\nimport type { ResourceAttributes } from '../types/resources';\nimport type { RequestOptions } from '../types/api';\nimport { interpolate } from '../utils/string';\n\nexport class BaseResource {\n static resourceEndpoint = '';\n static primaryKeyField = 'id';\n static _connection: Connection | undefined;\n\n protected _connection: Connection | undefined;\n protected _attributes: ResourceAttributes;\n protected _errors: string[] = [];\n protected _created = false;\n protected _updated = false;\n\n constructor(attributes: ResourceAttributes = {}, connection?: Connection) {\n this._attributes = { ...attributes };\n this._connection = connection;\n }\n\n static withConnection(connection: Connection): typeof BaseResource {\n const ParentClass = this;\n\n const BoundClass = class extends ParentClass {\n static _connection = connection;\n\n constructor(attributes: ResourceAttributes = {}) {\n super(attributes, connection);\n }\n };\n\n // Copy static properties\n BoundClass.resourceEndpoint = this.resourceEndpoint;\n BoundClass.primaryKeyField = this.primaryKeyField;\n\n return BoundClass;\n }\n\n protected static getConnection(): Connection {\n if (!this._connection) {\n throw new Error(\n 'No connection available. Use withConnection() or create a client first.'\n );\n }\n return this._connection;\n }\n\n static getUri(attributes: ResourceAttributes = {}): string {\n const endpoint = this.resourceEndpoint;\n const id = attributes[this.primaryKeyField];\n\n if (id !== undefined) {\n return interpolate(`${endpoint}/:${this.primaryKeyField}`, {\n [this.primaryKeyField]: id as string | number,\n });\n }\n\n return endpoint;\n }\n\n static async create(\n attributes: ResourceAttributes,\n options?: RequestOptions\n ): Promise<BaseResource> {\n const connection = this.getConnection();\n const response = await connection.post<ResourceAttributes>(\n this.resourceEndpoint,\n attributes,\n options\n );\n\n const instance = new this(response.data, connection);\n instance._created = true;\n return instance;\n }\n\n static async find(\n id: string | number,\n params?: ResourceAttributes\n ): Promise<BaseResource | null> {\n const connection = this.getConnection();\n const url = this.getUri({ [this.primaryKeyField]: id });\n\n try {\n const response = await connection.get<ResourceAttributes>(url, params);\n return new this(response.data, connection);\n } catch (error) {\n if ((error as Error).name === 'ResourceNotFoundError') {\n return null;\n }\n throw error;\n }\n }\n\n static async all(params?: ResourceAttributes): Promise<BaseResource[]> {\n const connection = this.getConnection();\n const response = await connection.get<ResourceAttributes[]>(\n this.resourceEndpoint,\n params\n );\n\n if (!Array.isArray(response.data)) {\n return [];\n }\n\n return response.data.map((attrs) => new this(attrs, connection));\n }\n\n static async findBy(params: ResourceAttributes): Promise<BaseResource | null> {\n const results = await this.all(params);\n return results.length > 0 ? results[0] : null;\n }\n\n static async findOrCreateBy(\n params: ResourceAttributes,\n attributes?: ResourceAttributes,\n options?: RequestOptions\n ): Promise<BaseResource> {\n const existing = await this.findBy(params);\n if (existing) {\n return existing;\n }\n return this.create({ ...params, ...attributes }, options);\n }\n\n get attributes(): ResourceAttributes {\n return { ...this._attributes };\n }\n\n get errors(): string[] {\n return [...this._errors];\n }\n\n get(key: string): unknown {\n return this._attributes[key];\n }\n\n set(key: string, value: unknown): void {\n this._attributes[key] = value;\n }\n\n get id(): string | number | undefined {\n const Constructor = this.constructor as typeof BaseResource;\n return this._attributes[Constructor.primaryKeyField] as string | number | undefined;\n }\n\n isNewRecord(): boolean {\n return this.id === undefined;\n }\n\n isCreated(): boolean {\n return this._created;\n }\n\n isUpdated(): boolean {\n return this._updated;\n }\n\n isValid(): boolean {\n return this._errors.length === 0;\n }\n\n getUri(): string {\n const Constructor = this.constructor as typeof BaseResource;\n return Constructor.getUri(this._attributes);\n }\n\n protected getConnection(): Connection {\n if (!this._connection) {\n const Constructor = this.constructor as typeof BaseResource;\n return Constructor.getConnection();\n }\n return this._connection;\n }\n\n async save(options?: RequestOptions): Promise<this> {\n const connection = this.getConnection();\n const Constructor = this.constructor as typeof BaseResource;\n\n if (this.isNewRecord()) {\n const response = await connection.post<ResourceAttributes>(\n Constructor.resourceEndpoint,\n this._attributes,\n options\n );\n this._attributes = response.data;\n this._created = true;\n } else {\n const response = await connection.put<ResourceAttributes>(\n this.getUri(),\n this._attributes,\n options\n );\n this._attributes = response.data;\n this._updated = true;\n }\n\n return this;\n }\n\n async update(newAttributes: ResourceAttributes, options?: RequestOptions): Promise<this> {\n this._attributes = { ...this._attributes, ...newAttributes };\n const connection = this.getConnection();\n\n const response = await connection.put<ResourceAttributes>(\n this.getUri(),\n this._attributes,\n options\n );\n this._attributes = response.data;\n this._updated = true;\n\n return this;\n }\n\n async delete(): Promise<boolean> {\n const connection = this.getConnection();\n\n try {\n await connection.delete(this.getUri());\n return true;\n } catch {\n return false;\n }\n }\n\n toJSON(): ResourceAttributes {\n return this.attributes;\n }\n}\n","import { BaseResource } from '../base';\nimport type { PixChargeCreateParams, PixChargeListParams } from '../../types/resources';\nimport type { RequestOptions } from '../../types/api';\n\nexport class Pix extends BaseResource {\n static resourceEndpoint = '/charge/pix';\n\n get amount(): number | undefined {\n return this.get('amount') as number | undefined;\n }\n\n get expireAt(): string | undefined {\n return this.get('expireAt') as string | undefined;\n }\n\n get status(): string | undefined {\n return this.get('status') as string | undefined;\n }\n\n get customerPersonName(): string | undefined {\n return this.get('customerPersonName') as string | undefined;\n }\n\n get customerCnpjCpf(): string | undefined {\n return this.get('customerCnpjCpf') as string | undefined;\n }\n\n get customerEmail(): string | undefined {\n return this.get('customerEmail') as string | undefined;\n }\n\n get customerPhoneNumber(): string | undefined {\n return this.get('customerPhoneNumber') as string | undefined;\n }\n\n get description(): string | undefined {\n return this.get('description') as string | undefined;\n }\n\n get meta(): Record<string, unknown> | undefined {\n return this.get('meta') as Record<string, unknown> | undefined;\n }\n\n get qrCode(): string | undefined {\n return this.get('qrCode') as string | undefined;\n }\n\n get qrCodeUrl(): string | undefined {\n return this.get('qrCodeUrl') as string | undefined;\n }\n\n get copyPaste(): string | undefined {\n return this.get('copyPaste') as string | undefined;\n }\n\n get txid(): string | undefined {\n return this.get('txid') as string | undefined;\n }\n\n get paidAt(): string | undefined {\n return this.get('paidAt') as string | undefined;\n }\n\n get paidAmount(): number | undefined {\n return this.get('paidAmount') as number | undefined;\n }\n\n get createdAt(): string | undefined {\n return this.get('createdAt') as string | undefined;\n }\n\n get updatedAt(): string | undefined {\n return this.get('updatedAt') as string | undefined;\n }\n\n static async create(\n attributes: PixChargeCreateParams,\n options?: RequestOptions\n ): Promise<Pix> {\n return super.create(attributes as Record<string, unknown>, options) as unknown as Promise<Pix>;\n }\n\n static async find(id: string | number, params?: PixChargeListParams): Promise<Pix | null> {\n return super.find(id, params as Record<string, unknown>) as unknown as Promise<Pix | null>;\n }\n\n static async all(params?: PixChargeListParams): Promise<Pix[]> {\n return super.all(params as Record<string, unknown>) as unknown as Promise<Pix[]>;\n }\n\n static async findBy(params: PixChargeListParams): Promise<Pix | null> {\n return super.findBy(params as Record<string, unknown>) as unknown as Promise<Pix | null>;\n }\n\n isPending(): boolean {\n return this.status === 'pending';\n }\n\n isPaid(): boolean {\n return this.status === 'paid';\n }\n\n isCanceled(): boolean {\n return this.status === 'canceled';\n }\n\n isExpired(): boolean {\n return this.status === 'expired';\n }\n}\n","import { BaseResource } from '../base';\nimport type {\n BankBilletCreateParams,\n BankBilletListParams,\n} from '../../types/resources';\nimport type { RequestOptions } from '../../types/api';\n\nexport class BankBillet extends BaseResource {\n static resourceEndpoint = '/bank_billets';\n\n get amount(): number | undefined {\n return this.get('amount') as number | undefined;\n }\n\n get expireAt(): string | undefined {\n return this.get('expireAt') as string | undefined;\n }\n\n get customerPersonName(): string | undefined {\n return this.get('customerPersonName') as string | undefined;\n }\n\n get customerCnpjCpf(): string | undefined {\n return this.get('customerCnpjCpf') as string | undefined;\n }\n\n get customerState(): string | undefined {\n return this.get('customerState') as string | undefined;\n }\n\n get customerCityName(): string | undefined {\n return this.get('customerCityName') as string | undefined;\n }\n\n get customerZipcode(): string | undefined {\n return this.get('customerZipcode') as string | undefined;\n }\n\n get customerAddress(): string | undefined {\n return this.get('customerAddress') as string | undefined;\n }\n\n get customerNeighborhood(): string | undefined {\n return this.get('customerNeighborhood') as string | undefined;\n }\n\n get customerAddressNumber(): string | undefined {\n return this.get('customerAddressNumber') as string | undefined;\n }\n\n get customerAddressComplement(): string | undefined {\n return this.get('customerAddressComplement') as string | undefined;\n }\n\n get customerPhoneNumber(): string | undefined {\n return this.get('customerPhoneNumber') as string | undefined;\n }\n\n get customerEmail(): string | undefined {\n return this.get('customerEmail') as string | undefined;\n }\n\n get bankBilletAccountId(): number | undefined {\n return this.get('bankBilletAccountId') as number | undefined;\n }\n\n get ourNumber(): string | undefined {\n return this.get('ourNumber') as string | undefined;\n }\n\n get status(): string | undefined {\n return this.get('status') as string | undefined;\n }\n\n get shippingStatus(): string | undefined {\n return this.get('shippingStatus') as string | undefined;\n }\n\n get meta(): Record<string, unknown> | undefined {\n return this.get('meta') as Record<string, unknown> | undefined;\n }\n\n get notes(): string | undefined {\n return this.get('notes') as string | undefined;\n }\n\n get instructions(): string | undefined {\n return this.get('instructions') as string | undefined;\n }\n\n get pixEnabled(): boolean | undefined {\n return this.get('pixEnabled') as boolean | undefined;\n }\n\n get createdAt(): string | undefined {\n return this.get('createdAt') as string | undefined;\n }\n\n get updatedAt(): string | undefined {\n return this.get('updatedAt') as string | undefined;\n }\n\n static async create(\n attributes: BankBilletCreateParams,\n options?: RequestOptions\n ): Promise<BankBillet> {\n return super.create(attributes as Record<string, unknown>, options) as unknown as Promise<BankBillet>;\n }\n\n static async find(\n id: string | number,\n params?: BankBilletListParams\n ): Promise<BankBillet | null> {\n return super.find(id, params as Record<string, unknown>) as unknown as Promise<BankBillet | null>;\n }\n\n static async all(params?: BankBilletListParams): Promise<BankBillet[]> {\n return super.all(params as Record<string, unknown>) as unknown as Promise<BankBillet[]>;\n }\n\n static async findBy(params: BankBilletListParams): Promise<BankBillet | null> {\n return super.findBy(params as Record<string, unknown>) as unknown as Promise<BankBillet | null>;\n }\n\n isPending(): boolean {\n return this.status === 'pending';\n }\n\n isOpened(): boolean {\n return this.status === 'opened';\n }\n\n isPaid(): boolean {\n return this.status === 'paid';\n }\n\n isCanceled(): boolean {\n return this.status === 'canceled';\n }\n\n isExpired(): boolean {\n return this.status === 'expired';\n }\n}\n","import { BaseResource } from '../base';\nimport type {\n BankBilletAccountAttributes,\n BankBilletAccountCreateParams,\n BankBilletAccountListParams,\n} from '../../types/resources';\nimport type { RequestOptions } from '../../types/api';\n\nexport class BankBilletAccount extends BaseResource {\n static resourceEndpoint = '/bank_billet_accounts';\n\n get bankContractSlug(): string | undefined {\n return this.get('bankContractSlug') as string | undefined;\n }\n\n get nextOurNumber(): string | undefined {\n return this.get('nextOurNumber') as string | undefined;\n }\n\n get agencyNumber(): string | undefined {\n return this.get('agencyNumber') as string | undefined;\n }\n\n get agencyDigit(): string | undefined {\n return this.get('agencyDigit') as string | undefined;\n }\n\n get accountNumber(): string | undefined {\n return this.get('accountNumber') as string | undefined;\n }\n\n get accountDigit(): string | undefined {\n return this.get('accountDigit') as string | undefined;\n }\n\n get extra1(): string | undefined {\n return this.get('extra1') as string | undefined;\n }\n\n get extra1Digit(): string | undefined {\n return this.get('extra1Digit') as string | undefined;\n }\n\n get extra2(): string | undefined {\n return this.get('extra2') as string | undefined;\n }\n\n get extra2Digit(): string | undefined {\n return this.get('extra2Digit') as string | undefined;\n }\n\n get beneficiaryName(): string | undefined {\n return this.get('beneficiaryName') as string | undefined;\n }\n\n get beneficiaryCnpjCpf(): string | undefined {\n return this.get('beneficiaryCnpjCpf') as string | undefined;\n }\n\n get beneficiaryAddress(): string | undefined {\n return this.get('beneficiaryAddress') as string | undefined;\n }\n\n get name(): string | undefined {\n return this.get('name') as string | undefined;\n }\n\n get status(): string | undefined {\n return this.get('status') as string | undefined;\n }\n\n get homologatedAt(): string | undefined {\n return this.get('homologatedAt') as string | undefined;\n }\n\n get nextRemittanceNumber(): number | undefined {\n return this.get('nextRemittanceNumber') as number | undefined;\n }\n\n get configuration(): Record<string, unknown> | undefined {\n return this.get('configuration') as Record<string, unknown> | undefined;\n }\n\n get createdAt(): string | undefined {\n return this.get('createdAt') as string | undefined;\n }\n\n get updatedAt(): string | undefined {\n return this.get('updatedAt') as string | undefined;\n }\n\n static async create(\n attributes: BankBilletAccountCreateParams,\n options?: RequestOptions\n ): Promise<BankBilletAccount> {\n return super.create(attributes as Record<string, unknown>, options) as unknown as Promise<BankBilletAccount>;\n }\n\n static async find(\n id: string | number,\n params?: BankBilletAccountListParams\n ): Promise<BankBilletAccount | null> {\n return super.find(id, params as Record<string, unknown>) as unknown as Promise<BankBilletAccount | null>;\n }\n\n static async all(params?: BankBilletAccountListParams): Promise<BankBilletAccount[]> {\n return super.all(params as Record<string, unknown>) as unknown as Promise<BankBilletAccount[]>;\n }\n\n static async findBy(params: BankBilletAccountListParams): Promise<BankBilletAccount | null> {\n return super.findBy(params as Record<string, unknown>) as unknown as Promise<BankBilletAccount | null>;\n }\n\n async askHomologation(): Promise<this> {\n const connection = this.getConnection();\n const response = await connection.get<BankBilletAccountAttributes>(\n `${this.getUri()}/ask`\n );\n this._attributes = response.data;\n return this;\n }\n\n async validate(): Promise<this> {\n const connection = this.getConnection();\n const response = await connection.put<BankBilletAccountAttributes>(\n `${this.getUri()}/validate`,\n {}\n );\n this._attributes = response.data;\n return this;\n }\n\n async setDefault(): Promise<this> {\n const connection = this.getConnection();\n const response = await connection.put<BankBilletAccountAttributes>(\n `${this.getUri()}/set_default`,\n {}\n );\n this._attributes = response.data;\n return this;\n }\n\n isPending(): boolean {\n return this.status === 'pending';\n }\n\n isHomologating(): boolean {\n return this.status === 'homologating';\n }\n\n isActive(): boolean {\n return this.status === 'active';\n }\n\n isHomologated(): boolean {\n return this.homologatedAt !== undefined;\n }\n}\n","import { Configuration } from './configuration';\nimport { Connection } from './resources/connection';\nimport { Pix, BankBillet } from './resources/charge';\nimport { BankBilletAccount } from './resources/financial';\nimport type { ConfigurationOptions } from './types/configuration';\n\ninterface ChargeProxy {\n readonly pix: typeof Pix;\n readonly bankBillet: typeof BankBillet;\n}\n\ninterface FinancialProxy {\n readonly bankBilletAccount: typeof BankBilletAccount;\n}\n\nfunction createChargeProxy(connection: Connection): ChargeProxy {\n let pixResource: typeof Pix | null = null;\n let bankBilletResource: typeof BankBillet | null = null;\n\n return {\n get pix() {\n if (!pixResource) {\n pixResource = Pix.withConnection(connection) as typeof Pix;\n }\n return pixResource;\n },\n get bankBillet() {\n if (!bankBilletResource) {\n bankBilletResource = BankBillet.withConnection(connection) as typeof BankBillet;\n }\n return bankBilletResource;\n },\n };\n}\n\nfunction createFinancialProxy(connection: Connection): FinancialProxy {\n let bankBilletAccountResource: typeof BankBilletAccount | null = null;\n\n return {\n get bankBilletAccount() {\n if (!bankBilletAccountResource) {\n bankBilletAccountResource = BankBilletAccount.withConnection(\n connection\n ) as typeof BankBilletAccount;\n }\n return bankBilletAccountResource;\n },\n };\n}\n\nexport class KobanaClient {\n private _configuration: Configuration;\n private _connection: Connection;\n private _chargeProxy: ChargeProxy | null = null;\n private _financialProxy: FinancialProxy | null = null;\n\n constructor(options: ConfigurationOptions) {\n this._configuration = new Configuration(options);\n this._connection = new Connection(this._configuration);\n }\n\n get configuration(): Configuration {\n return this._configuration;\n }\n\n configure(options: Partial<ConfigurationOptions>): void {\n if (options.apiToken !== undefined) {\n this._configuration.apiToken = options.apiToken;\n }\n if (options.environment !== undefined) {\n this._configuration.environment = options.environment;\n }\n if (options.apiVersion !== undefined) {\n this._configuration.apiVersion = options.apiVersion;\n }\n if (options.customHeaders !== undefined) {\n this._configuration.customHeaders = options.customHeaders;\n }\n if (options.debug !== undefined) {\n this._configuration.debug = options.debug;\n }\n\n this._connection = new Connection(this._configuration);\n this._chargeProxy = null;\n this._financialProxy = null;\n }\n\n get charge(): ChargeProxy {\n if (!this._chargeProxy) {\n this._chargeProxy = createChargeProxy(this._connection);\n }\n return this._chargeProxy;\n }\n\n get financial(): FinancialProxy {\n if (!this._financialProxy) {\n this._financialProxy = createFinancialProxy(this._connection);\n }\n return this._financialProxy;\n }\n}\n\n// Global configuration singleton\nlet globalConfiguration: Configuration | null = null;\nlet globalConnection: Connection | null = null;\nlet globalChargeProxy: ChargeProxy | null = null;\nlet globalFinancialProxy: FinancialProxy | null = null;\n\nfunction getGlobalConnection(): Connection {\n if (!globalConnection) {\n throw new Error('Kobana not configured. Call Kobana.configure() first.');\n }\n return globalConnection;\n}\n\nexport const Kobana = {\n configure(options: ConfigurationOptions): void {\n globalConfiguration = new Configuration(options);\n globalConnection = new Connection(globalConfiguration);\n globalChargeProxy = null;\n globalFinancialProxy = null;\n },\n\n get configuration(): Configuration | null {\n return globalConfiguration;\n },\n\n get charge(): ChargeProxy {\n if (!globalChargeProxy) {\n globalChargeProxy = createChargeProxy(getGlobalConnection());\n }\n return globalChargeProxy;\n },\n\n get financial(): FinancialProxy {\n if (!globalFinancialProxy) {\n globalFinancialProxy = createFinancialProxy(getGlobalConnection());\n }\n return globalFinancialProxy;\n },\n\n Client: KobanaClient,\n};\n"]}
|