@xsolla/payment-client-core 0.0.1 → 0.0.3-1
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 +8 -11
- package/esm2020/lib/core/boolean-number.enum.mjs +6 -0
- package/esm2020/lib/core/country/country.service.mjs +27 -0
- package/esm2020/lib/core/deep-readonly.type.mjs +2 -0
- package/esm2020/lib/core/exceptions-handling/errors/api-error.interface.mjs +2 -0
- package/esm2020/lib/core/exceptions-handling/errors/app-error.class.mjs +6 -0
- package/esm2020/lib/core/exceptions-handling/errors/http-error.class.mjs +40 -0
- package/esm2020/lib/core/exceptions-handling/errors/response-error.class.mjs +7 -0
- package/esm2020/lib/core/exceptions-handling/http-interceptor/http-error-data.interface.mjs +2 -0
- package/esm2020/lib/core/exceptions-handling/http-interceptor/http-error-response-data.interface.mjs +2 -0
- package/esm2020/lib/core/exceptions-handling/http-interceptor/http-exceptions.interceptor.mjs +22 -0
- package/esm2020/lib/core/extended-window.interface.mjs +2 -0
- package/esm2020/lib/core/http/secure-api/api-url.const.mjs +3 -0
- package/esm2020/lib/core/http/secure-api/options.interface.mjs +2 -0
- package/esm2020/lib/core/http/secure-api/secure-api.service.mjs +55 -0
- package/esm2020/lib/core/legal/legal.component.config.mjs +2 -0
- package/esm2020/lib/core/legal/legal.service.mjs +30 -0
- package/esm2020/lib/core/legal/refund-policy.service.mjs +30 -0
- package/esm2020/lib/core/payment-methods/payment-method-api.interface.mjs +2 -0
- package/esm2020/lib/core/payment-methods/payment-method.interface.mjs +2 -0
- package/esm2020/lib/core/payment-methods/payment-methods-api.interface.mjs +2 -0
- package/esm2020/lib/core/payment-methods/payment-methods-request-params.interface.mjs +2 -0
- package/esm2020/lib/core/payment-methods/payment-methods-response.class.mjs +26 -0
- package/esm2020/lib/core/payment-methods/payment-methods-response.interface.mjs +2 -0
- package/esm2020/lib/core/payment-methods/payment-methods-response.token.mjs +8 -0
- package/esm2020/lib/core/payment-methods/payment-methods.service.mjs +58 -0
- package/esm2020/lib/core/saved-methods/saved-method-api.interface.mjs +2 -0
- package/esm2020/lib/core/saved-methods/saved-method.interface.mjs +2 -0
- package/esm2020/lib/core/saved-methods/saved-methods-request-params.interface.mjs +2 -0
- package/esm2020/lib/core/saved-methods/saved-methods-response.class.mjs +24 -0
- package/esm2020/lib/core/saved-methods/saved-methods-response.interface.mjs +2 -0
- package/esm2020/lib/core/saved-methods/saved-methods-response.token.mjs +8 -0
- package/esm2020/lib/core/saved-methods/saved-methods.service.mjs +53 -0
- package/esm2020/lib/core/settings/auto-redirect-on-status.mjs +14 -0
- package/esm2020/lib/core/settings/balance.interface.mjs +2 -0
- package/esm2020/lib/core/settings/bonus.interface.mjs +2 -0
- package/esm2020/lib/core/settings/configuration.interface.mjs +2 -0
- package/esm2020/lib/core/settings/empty-utils-response.error.mjs +7 -0
- package/esm2020/lib/core/settings/header-type.enum.mjs +6 -0
- package/esm2020/lib/core/settings/offer.interface.mjs +2 -0
- package/esm2020/lib/core/settings/project.interface.mjs +2 -0
- package/esm2020/lib/core/settings/purchase.interface.mjs +2 -0
- package/esm2020/lib/core/settings/settings-mode.enum.mjs +5 -0
- package/esm2020/lib/core/settings/settings.interface.mjs +2 -0
- package/esm2020/lib/core/settings/settings.service.mjs +85 -0
- package/esm2020/lib/core/settings/status-back-show.mjs +16 -0
- package/esm2020/lib/core/settings/tracking-info.interface.mjs +2 -0
- package/esm2020/lib/core/settings/user.interface.mjs +2 -0
- package/esm2020/lib/core/settings/utils-response.interface.mjs +2 -0
- package/esm2020/lib/core/user-balance/user-balance-api.interface.mjs +2 -0
- package/esm2020/lib/core/user-balance/user-balance-request-params.interface.mjs +2 -0
- package/esm2020/lib/core/user-balance/user-balance-response.class.mjs +8 -0
- package/esm2020/lib/core/user-balance/user-balance-response.token.mjs +8 -0
- package/esm2020/lib/core/user-balance/user-balance.service.mjs +50 -0
- package/esm2020/lib/core/window.token.mjs +3 -0
- package/esm2020/lib/core-library.module.mjs +31 -7
- package/esm2020/lib/core-library.service.mjs +32 -3
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/xsolla-payment-client-core.mjs +582 -16
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
- package/fesm2020/xsolla-payment-client-core.mjs +554 -16
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/boolean-number.enum.d.ts +4 -0
- package/lib/core/country/country.service.d.ts +12 -0
- package/lib/core/deep-readonly.type.d.ts +3 -0
- package/lib/core/exceptions-handling/errors/api-error.interface.d.ts +4 -0
- package/lib/core/exceptions-handling/errors/app-error.class.d.ts +3 -0
- package/lib/core/exceptions-handling/errors/http-error.class.d.ts +10 -0
- package/lib/core/exceptions-handling/errors/response-error.class.d.ts +4 -0
- package/lib/core/exceptions-handling/http-interceptor/http-error-data.interface.d.ts +20 -0
- package/lib/core/exceptions-handling/http-interceptor/http-error-response-data.interface.d.ts +7 -0
- package/lib/core/exceptions-handling/http-interceptor/http-exceptions.interceptor.d.ts +11 -0
- package/lib/core/extended-window.interface.d.ts +1 -0
- package/lib/core/http/secure-api/api-url.const.d.ts +2 -0
- package/lib/core/http/secure-api/options.interface.d.ts +14 -0
- package/lib/core/http/secure-api/secure-api.service.d.ts +20 -0
- package/lib/core/legal/legal.component.config.d.ts +5 -0
- package/lib/core/legal/legal.service.d.ts +14 -0
- package/lib/core/legal/refund-policy.service.d.ts +11 -0
- package/lib/core/payment-methods/payment-method-api.interface.d.ts +11 -0
- package/lib/core/payment-methods/payment-method.interface.d.ts +11 -0
- package/lib/core/payment-methods/payment-methods-api.interface.d.ts +10 -0
- package/lib/core/payment-methods/payment-methods-request-params.interface.d.ts +4 -0
- package/lib/core/payment-methods/payment-methods-response.class.d.ts +13 -0
- package/lib/core/payment-methods/payment-methods-response.interface.d.ts +4 -0
- package/lib/core/payment-methods/payment-methods-response.token.d.ts +7 -0
- package/lib/core/payment-methods/payment-methods.service.d.ts +20 -0
- package/lib/core/saved-methods/saved-method-api.interface.d.ts +22 -0
- package/lib/core/saved-methods/saved-method.interface.d.ts +21 -0
- package/lib/core/saved-methods/saved-methods-request-params.interface.d.ts +3 -0
- package/lib/core/saved-methods/saved-methods-response.class.d.ts +7 -0
- package/lib/core/saved-methods/saved-methods-response.interface.d.ts +4 -0
- package/lib/core/saved-methods/saved-methods-response.token.d.ts +7 -0
- package/lib/core/saved-methods/saved-methods.service.d.ts +19 -0
- package/lib/core/settings/auto-redirect-on-status.d.ts +12 -0
- package/lib/core/settings/balance.interface.d.ts +4 -0
- package/lib/core/settings/bonus.interface.d.ts +10 -0
- package/lib/core/settings/configuration.interface.d.ts +5 -0
- package/lib/core/settings/empty-utils-response.error.d.ts +4 -0
- package/lib/core/settings/header-type.enum.d.ts +4 -0
- package/lib/core/settings/offer.interface.d.ts +6 -0
- package/lib/core/settings/project.interface.d.ts +32 -0
- package/lib/core/settings/purchase.interface.d.ts +47 -0
- package/lib/core/settings/settings-mode.enum.d.ts +3 -0
- package/lib/core/settings/settings.interface.d.ts +45 -0
- package/lib/core/settings/settings.service.d.ts +30 -0
- package/lib/core/settings/status-back-show.d.ts +14 -0
- package/lib/core/settings/tracking-info.interface.d.ts +5 -0
- package/lib/core/settings/user.interface.d.ts +23 -0
- package/lib/core/settings/utils-response.interface.d.ts +16 -0
- package/lib/core/user-balance/user-balance-api.interface.d.ts +4 -0
- package/lib/core/user-balance/user-balance-request-params.interface.d.ts +3 -0
- package/lib/core/user-balance/user-balance-response.class.d.ts +6 -0
- package/lib/core/user-balance/user-balance-response.token.d.ts +7 -0
- package/lib/core/user-balance/user-balance.service.d.ts +17 -0
- package/lib/core/window.token.d.ts +3 -0
- package/lib/core-library.module.d.ts +2 -2
- package/lib/core-library.service.d.ts +27 -0
- package/package.json +4 -3
- package/public-api.d.ts +1 -1
- package/xsolla-payment-client-core-0.0.3-1.tgz +0 -0
- package/esm2020/lib/core-library.component.mjs +0 -11
- package/lib/core-library.component.d.ts +0 -5
- package/xsolla-payment-client-core-0.0.1.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xsolla-payment-client-core.mjs","sources":["../../../packages/payment-client-core/src/lib/core-library.service.ts","../../../packages/payment-client-core/src/lib/core-library.component.ts","../../../packages/payment-client-core/src/lib/core-library.module.ts","../../../packages/payment-client-core/src/public-api.ts","../../../packages/payment-client-core/src/xsolla-payment-client-core.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CoreLibraryService {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'x-payment-client-core',\n template: ` <p>core-library works!</p> `,\n styles: [],\n})\nexport class CoreLibraryComponent {}\n","import { NgModule } from '@angular/core';\nimport { CoreLibraryComponent } from './core-library.component';\n\n@NgModule({\n declarations: [CoreLibraryComponent],\n imports: [],\n exports: [CoreLibraryComponent],\n})\nexport class CoreLibraryModule {}\n","/*\n * Public API Surface of core-library\n */\n\nexport * from './lib/core-library.service';\nexport * from './lib/core-library.component';\nexport * from './lib/core-library.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,kBAAkB,CAAA;;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCGY,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6DAHrB,8BAA8B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAG7B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,YACvB,CAA8B,4BAAA,CAAA,EAAA,CAAA;;;MCI7B,iBAAiB,CAAA;;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAjB,iBAAiB,EAAA,YAAA,EAAA,CAJb,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEzB,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAEnB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAChC,CAAA;;;ACPD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"xsolla-payment-client-core.mjs","sources":["../../../packages/payment-client-core/src/lib/core/exceptions-handling/errors/app-error.class.ts","../../../packages/payment-client-core/src/lib/core/settings/empty-utils-response.error.ts","../../../packages/payment-client-core/src/lib/core/window.token.ts","../../../packages/payment-client-core/src/lib/core/http/secure-api/api-url.const.ts","../../../packages/payment-client-core/src/lib/core/http/secure-api/secure-api.service.ts","../../../packages/payment-client-core/src/lib/core/settings/settings.service.ts","../../../packages/payment-client-core/src/lib/core/country/country.service.ts","../../../packages/payment-client-core/src/lib/core/exceptions-handling/errors/response-error.class.ts","../../../packages/payment-client-core/src/lib/core/boolean-number.enum.ts","../../../packages/payment-client-core/src/lib/core/payment-methods/payment-methods-response.class.ts","../../../packages/payment-client-core/src/lib/core/payment-methods/payment-methods-response.token.ts","../../../packages/payment-client-core/src/lib/core/payment-methods/payment-methods.service.ts","../../../packages/payment-client-core/src/lib/core/saved-methods/saved-methods-response.class.ts","../../../packages/payment-client-core/src/lib/core/saved-methods/saved-methods-response.token.ts","../../../packages/payment-client-core/src/lib/core/saved-methods/saved-methods.service.ts","../../../packages/payment-client-core/src/lib/core/user-balance/user-balance-response.class.ts","../../../packages/payment-client-core/src/lib/core/user-balance/user-balance-response.token.ts","../../../packages/payment-client-core/src/lib/core/user-balance/user-balance.service.ts","../../../packages/payment-client-core/src/lib/core/legal/refund-policy.service.ts","../../../packages/payment-client-core/src/lib/core/legal/legal.service.ts","../../../packages/payment-client-core/src/lib/core-library.service.ts","../../../packages/payment-client-core/src/lib/core/exceptions-handling/errors/http-error.class.ts","../../../packages/payment-client-core/src/lib/core/exceptions-handling/http-interceptor/http-exceptions.interceptor.ts","../../../packages/payment-client-core/src/lib/core-library.module.ts","../../../packages/payment-client-core/src/public-api.ts","../../../packages/payment-client-core/src/xsolla-payment-client-core.ts"],"sourcesContent":["export class AppError extends Error {\n public constructor(message: string) {\n super(message);\n }\n}\n","import { AppError } from '../exceptions-handling/errors/app-error.class';\n\nexport class EmptyUtilsResponseError extends AppError {\n public constructor() {\n super('Utils response is empty or not requested. Check your token.');\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ExtendedWindow } from './extended-window.interface';\n\nexport const windowToken: InjectionToken<ExtendedWindow> = new InjectionToken(\n 'window'\n);\n","export const defaultApiUrl = 'https://secure.xsolla.com/paystation2/api/';\nexport const sandboxApiUrl =\n 'https://sandbox-secure.xsolla.com/paystation2/api/';\n","import { Observable } from 'rxjs';\nimport { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { windowToken } from '../../window.token';\nimport { ExtendedWindow } from '../../extended-window.interface';\nimport { RequestOptions } from './options.interface';\nimport { defaultApiUrl, sandboxApiUrl } from './api-url.const';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SecureApiClient {\n private isSandboxMode = false;\n\n public constructor(\n private readonly httpClient: HttpClient,\n @Inject(windowToken)\n private readonly window: ExtendedWindow\n ) {}\n\n public setSandboxMode(isSandboxMode: boolean): void {\n this.isSandboxMode = isSandboxMode;\n }\n\n public get<T>(url: string, options?: RequestOptions): Observable<T> {\n return this.httpClient.get<T>(`${this.baseUrl}${url}`, options);\n }\n\n public post<T>(\n url: string,\n body: unknown | null,\n options?: RequestOptions\n ): Observable<T> {\n return this.httpClient.post<T>(`${this.baseUrl}${url}`, body, options);\n }\n\n public patch<T>(\n url: string,\n body: unknown | null,\n options?: RequestOptions\n ): Observable<T> {\n return this.httpClient.patch<T>(`${this.baseUrl}${url}`, body, options);\n }\n\n public put<T>(\n url: string,\n body: unknown | null,\n options?: RequestOptions\n ): Observable<T> {\n return this.httpClient.put<T>(`${this.baseUrl}${url}`, body, options);\n }\n\n public delete<T>(url: string, options?: RequestOptions): Observable<T> {\n return this.httpClient.delete<T>(`${this.baseUrl}${url}`, options);\n }\n\n public get baseUrl(): string {\n let predefinedBaseUrl: string | null = null;\n\n try {\n predefinedBaseUrl = this.window.localStorage.getItem('devApiUrl');\n } catch (e: unknown) {\n console.warn('localStorage is not available');\n }\n\n if (predefinedBaseUrl) {\n return predefinedBaseUrl;\n }\n\n return this.isSandboxMode ? sandboxApiUrl : defaultApiUrl;\n }\n}\n","import { firstValueFrom } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { HttpParams } from '@angular/common/http';\nimport { SecureApiClient } from '../http/secure-api/secure-api.service';\nimport { DeepReadonly } from '../deep-readonly.type';\nimport { InitConfiguration } from './configuration.interface';\nimport { EmptyUtilsResponseError } from './empty-utils-response.error';\nimport { User } from './user.interface';\nimport { Settings } from './settings.interface';\nimport { Purchase } from './purchase.interface';\nimport { Project } from './project.interface';\nimport { UtilsResponse } from './utils-response.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SettingsService {\n public get project(): DeepReadonly<Project> {\n if (!this.response) {\n throw new EmptyUtilsResponseError();\n }\n\n return this.response.project;\n }\n\n public get purchase(): DeepReadonly<Purchase> {\n if (!this.response) {\n throw new EmptyUtilsResponseError();\n }\n\n return this.response.purchase;\n }\n\n public get settings(): DeepReadonly<Settings> {\n if (!this.response) {\n throw new EmptyUtilsResponseError();\n }\n\n if (this.response?.purchase_external_id) {\n return {\n ...this.response.settings,\n purchase_external_id: this.response.purchase_external_id,\n };\n }\n\n return this.response?.settings;\n }\n\n public get user(): DeepReadonly<User> {\n if (!this.response) {\n throw new EmptyUtilsResponseError();\n }\n\n return this.response.user;\n }\n\n public get utilsResponse(): DeepReadonly<UtilsResponse> {\n if (!this.response) {\n throw new EmptyUtilsResponseError();\n }\n\n return this.response;\n }\n\n public get isEmpty(): boolean {\n return !this.response;\n }\n\n public get token(): string {\n return this._token;\n }\n\n public get hasResponse(): boolean {\n return !!this.response;\n }\n\n public isInitialized = false;\n\n private response!: DeepReadonly<UtilsResponse> | undefined;\n\n private _token = '';\n\n private sandboxMode = false;\n\n public constructor(private readonly secureApi: SecureApiClient) {}\n\n public async init(configuration: InitConfiguration): Promise<void> {\n if (!configuration.token) {\n return Promise.reject('token is missing');\n }\n\n this._token = configuration.token;\n this.sandboxMode = !!configuration.sandbox;\n\n await this.sendRequest(this.token);\n\n this.isInitialized = true;\n }\n\n public isSandboxMode(): boolean {\n return this.sandboxMode;\n }\n\n private async sendRequest(token: string): Promise<void> {\n const params = new HttpParams().set('access_token', token);\n\n this.secureApi.setSandboxMode(this.isSandboxMode());\n\n this.response = await firstValueFrom(\n this.secureApi.get<UtilsResponse>('utils', { params })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SettingsService } from '../settings/settings.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CountryService {\n private userDefinedCountry: string | null = null;\n\n public constructor(private readonly settingsService: SettingsService) {}\n\n public setCountry(country: string): void {\n this.userDefinedCountry = country;\n }\n\n public getCountry(): string {\n return this.userDefinedCountry ?? this.getTokenCountry();\n }\n\n private getTokenCountry(): string {\n return this.settingsService.user.country.value;\n }\n}\n","import { AppError } from './app-error.class';\n\nexport class ResponseError extends AppError {\n public constructor(message?: string) {\n super('Response failed' + (message ? `: \"${message}\".` : '.'));\n }\n}\n","export enum BooleanNumber {\n false = 0,\n true = 1,\n}\n","import { BooleanNumber } from '../boolean-number.enum';\nimport { PaymentMethodApi } from './payment-method-api.interface';\nimport { PaymentMethod } from './payment-method.interface';\nimport { PaymentMethodsApi } from './payment-methods-api.interface';\n\nexport class PaymentMethodsResponse {\n public readonly top: PaymentMethod[];\n public readonly especial: PaymentMethod[];\n public readonly remained: PaymentMethod[];\n public readonly remainedCount: { total: number; visible: number };\n\n public constructor(paymentMethods: PaymentMethodsApi) {\n this.especial = paymentMethods.especial.map((method) =>\n this.mapPaymentMethod(method)\n );\n this.top = paymentMethods.top.map((method) =>\n this.mapPaymentMethod(method)\n );\n this.remained = paymentMethods.remained.map((method) =>\n this.mapPaymentMethod(method)\n );\n this.remainedCount = {\n total: paymentMethods.remained_count.total,\n visible: paymentMethods.remained_count.visible,\n };\n }\n\n private mapPaymentMethod(method: PaymentMethodApi): PaymentMethod {\n return {\n id: method.id,\n rank: method.rank,\n name: method.name,\n aliases: method.aliases,\n categories: method.cat,\n isVisible: method.is_visible,\n recommended: method.recommended === BooleanNumber.true,\n enabledSaveAccount: method.enabled_save_account,\n iconName: method.switch_icon_name,\n };\n }\n}\n","import { InjectionToken, ValueProvider } from '@angular/core';\nimport { PaymentMethodsResponse } from './payment-methods-response.class';\n\ntype ResponseParameters = ConstructorParameters<typeof PaymentMethodsResponse>;\n\nexport type PaymentMethodsResponseFactory = (\n ...args: ResponseParameters\n) => PaymentMethodsResponse;\n\nexport const paymentMethodsResponseFactoryToken: InjectionToken<PaymentMethodsResponseFactory> =\n new InjectionToken<PaymentMethodsResponseFactory>('PaymentMethodsResponse');\n\nexport const paymentMethodsResponseFactoryProvider: ValueProvider = {\n provide: paymentMethodsResponseFactoryToken,\n useValue: (...args: ResponseParameters) =>\n new PaymentMethodsResponse(...args),\n};\n","import { HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { lastValueFrom, map } from 'rxjs';\nimport { CountryService } from '../country/country.service';\nimport { ResponseError } from '../exceptions-handling/errors/response-error.class';\nimport { SecureApiClient } from '../http/secure-api/secure-api.service';\nimport { SettingsService } from '../settings/settings.service';\nimport { PaymentMethod } from './payment-method.interface';\nimport { PaymentMethodsRequestParams } from './payment-methods-request-params.interface';\nimport { PaymentMethodsResponse } from './payment-methods-response.class';\nimport { PaymentMethodsResponseApi } from './payment-methods-response.interface';\nimport {\n PaymentMethodsResponseFactory,\n paymentMethodsResponseFactoryToken,\n} from './payment-methods-response.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PaymentMethodsService {\n private readonly apiRoute = 'remained_payment_methods';\n\n private readonly cache = new Map<string, Promise<PaymentMethodsResponse>>();\n\n public constructor(\n @Inject(paymentMethodsResponseFactoryToken)\n private readonly responseFactory: PaymentMethodsResponseFactory,\n private readonly settingsService: SettingsService,\n private readonly countryService: CountryService,\n private readonly secureApi: SecureApiClient\n ) {}\n\n public async getList(): Promise<PaymentMethod[]> {\n const response = await this.request();\n return response.remained;\n }\n\n public async getQuickMethods(): Promise<PaymentMethod[]> {\n const response = await this.request();\n return response.especial;\n }\n\n private async request(): Promise<PaymentMethodsResponse> {\n const requestParams: PaymentMethodsRequestParams = {\n access_token: this.settingsService.token,\n country: this.countryService.getCountry(),\n };\n const cacheKey = JSON.stringify(requestParams);\n\n if (!this.cache.has(cacheKey)) {\n this.cache.set(\n cacheKey,\n lastValueFrom(\n this.secureApi\n .post<PaymentMethodsResponseApi>(\n this.apiRoute,\n new URLSearchParams({ ...requestParams }),\n {\n headers: new HttpHeaders().set(\n 'Content-Type',\n 'application/x-www-form-urlencoded; charset=utf-8'\n ),\n responseType: 'json',\n }\n )\n .pipe(\n map((response) => this.responseFactory(response.payment_methods))\n )\n ).catch((error: Error) => {\n throw new ResponseError(error.message);\n })\n );\n }\n\n // @ts-expect-error the map already has the cache with key\n return this.cache.get(cacheKey);\n }\n}\n","import { SavedMethodsResponseApi } from './saved-methods-response.interface';\nimport { SavedMethodApi } from './saved-method-api.interface';\nimport { SavedMethod } from './saved-method.interface';\n\nexport class SavedMethodsResponse {\n public readonly list: SavedMethod[];\n\n public constructor(savedMethods: SavedMethodsResponseApi) {\n this.list = savedMethods.list.map((method) => this.mapSavedMethod(method));\n }\n\n private mapSavedMethod(method: SavedMethodApi): SavedMethod {\n return {\n currency: method.currency,\n form: method.form,\n id: method.id,\n isSelected: method.isSelected,\n isBabkaPay: method.is_babka_pay,\n name: method.name,\n pid: method.pid,\n psName: method.psName,\n recurrentType: method.recurrent_type,\n replaced: method.replaced,\n type: method.type,\n cardExpiryDate: method.card_expiry_date,\n iconName: method.switch_icon_name,\n partner: method.partner,\n };\n }\n}\n","import { InjectionToken, ValueProvider } from '@angular/core';\nimport { SavedMethodsResponse } from './saved-methods-response.class';\n\ntype ResponseParameters = ConstructorParameters<typeof SavedMethodsResponse>;\n\nexport type SavedMethodsResponseFactory = (\n ...args: ResponseParameters\n) => SavedMethodsResponse;\n\nexport const savedMethodsResponseFactoryToken: InjectionToken<SavedMethodsResponseFactory> =\n new InjectionToken<SavedMethodsResponseFactory>('SavedMethodsResponse');\n\nexport const savedMethodsResponseFactoryProvider: ValueProvider = {\n provide: savedMethodsResponseFactoryToken,\n useValue: (...args: ResponseParameters) => new SavedMethodsResponse(...args),\n};\n","import { HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { lastValueFrom, map } from 'rxjs';\nimport { CountryService } from '../country/country.service';\nimport { ResponseError } from '../exceptions-handling/errors/response-error.class';\nimport { SecureApiClient } from '../http/secure-api/secure-api.service';\nimport { SettingsService } from '../settings/settings.service';\nimport { SavedMethodsRequestParams } from './saved-methods-request-params.interface';\nimport { SavedMethodsResponseApi } from './saved-methods-response.interface';\nimport {\n SavedMethodsResponseFactory,\n savedMethodsResponseFactoryToken,\n} from './saved-methods-response.token';\nimport { SavedMethodsResponse } from './saved-methods-response.class';\nimport { SavedMethod } from './saved-method.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SavedMethodsService {\n private readonly apiRoute = 'savedmethods';\n\n private readonly cache = new Map<string, Promise<SavedMethodsResponse>>();\n\n public constructor(\n @Inject(savedMethodsResponseFactoryToken)\n private readonly responseFactory: SavedMethodsResponseFactory,\n private readonly settingsService: SettingsService,\n private readonly countryService: CountryService,\n private readonly secureApi: SecureApiClient\n ) {}\n\n public async getList(): Promise<SavedMethod[]> {\n const response = await this.request();\n return response.list;\n }\n\n private async request(): Promise<SavedMethodsResponse> {\n const requestParams: SavedMethodsRequestParams = {\n access_token: this.settingsService.token,\n };\n const cacheKey = JSON.stringify(requestParams);\n\n if (!this.cache.has(cacheKey)) {\n this.cache.set(\n cacheKey,\n lastValueFrom(\n this.secureApi\n .post<SavedMethodsResponseApi>(\n this.apiRoute,\n new URLSearchParams({ ...requestParams }),\n {\n headers: new HttpHeaders().set(\n 'Content-Type',\n 'application/x-www-form-urlencoded; charset=utf-8'\n ),\n responseType: 'json',\n }\n )\n .pipe(map((response) => this.responseFactory(response)))\n ).catch((error: Error) => {\n throw new ResponseError(error.message);\n })\n );\n }\n\n // @ts-expect-error the map already has the cache with key\n return this.cache.get(cacheKey);\n }\n}\n","import { UserBalanceApi } from './user-balance-api.interface';\n\nexport class UserBalanceResponse {\n public readonly isEnoughUserBalance: boolean;\n public readonly isEnoughUserRecurrentBalance: boolean;\n\n public constructor(userBalance: UserBalanceApi) {\n this.isEnoughUserBalance = userBalance.is_enough_user_balance ?? false;\n this.isEnoughUserRecurrentBalance =\n userBalance.is_enough_user_recurrent_balance ?? false;\n }\n}\n","import { InjectionToken, ValueProvider } from '@angular/core';\nimport { UserBalanceResponse } from './user-balance-response.class';\n\ntype ResponseParameters = ConstructorParameters<typeof UserBalanceResponse>;\n\nexport type UserBalanceResponseFactory = (\n ...args: ResponseParameters\n) => UserBalanceResponse;\n\nexport const userBalanceResponseFactoryToken: InjectionToken<UserBalanceResponseFactory> =\n new InjectionToken<UserBalanceResponseFactory>('UserBalanceResponse');\n\nexport const userBalanceResponseFactoryProvider: ValueProvider = {\n provide: userBalanceResponseFactoryToken,\n useValue: (...args: ResponseParameters) => new UserBalanceResponse(...args),\n};\n","import { HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { lastValueFrom, map } from 'rxjs';\nimport { ResponseError } from '../exceptions-handling/errors/response-error.class';\nimport { SecureApiClient } from '../http/secure-api/secure-api.service';\nimport { SettingsService } from '../settings/settings.service';\nimport {\n UserBalanceResponseFactory,\n userBalanceResponseFactoryToken,\n} from './user-balance-response.token';\nimport { UserBalanceResponse } from './user-balance-response.class';\nimport { UserBalanceRequestParams } from './user-balance-request-params.interface';\nimport { UserBalanceApi } from './user-balance-api.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserBalanceService {\n private readonly apiRoute = 'balance/sufficiency';\n\n private readonly cache = new Map<string, Promise<UserBalanceResponse>>();\n\n public constructor(\n @Inject(userBalanceResponseFactoryToken)\n private readonly responseFactory: UserBalanceResponseFactory,\n private readonly settingsService: SettingsService,\n private readonly secureApi: SecureApiClient\n ) {}\n\n public async getUserBalance(): Promise<UserBalanceResponse> {\n return this.request();\n }\n\n private async request(): Promise<UserBalanceResponse> {\n const requestParams: UserBalanceRequestParams = {\n access_token: this.settingsService.token,\n };\n const cacheKey = JSON.stringify(requestParams);\n\n if (!this.cache.has(cacheKey)) {\n this.cache.set(\n cacheKey,\n lastValueFrom(\n this.secureApi\n .post<UserBalanceApi>(\n this.apiRoute,\n new URLSearchParams({ ...requestParams }),\n {\n headers: new HttpHeaders().set(\n 'Content-Type',\n 'application/x-www-form-urlencoded; charset=utf-8'\n ),\n responseType: 'json',\n }\n )\n .pipe(map((response) => this.responseFactory(response)))\n ).catch((error: Error) => {\n throw new ResponseError(error.message);\n })\n );\n }\n\n // @ts-expect-error the map already has the cache with key\n return this.cache.get(cacheKey);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SettingsService } from '../../core/settings/settings.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RefundPolicyService {\n public readonly defaultVersionId = 2;\n public readonly defaultUrl = 'https://xsolla.com/refund-policy-ps';\n\n public constructor(private readonly settingsService: SettingsService) {}\n\n public get url(): string {\n if (!this.settingsService.token) {\n return 'https://xsolla.com/refundpolicy/en-us';\n }\n const language = this.settingsService.user.local ?? 'en';\n const versionId =\n this.settingsService.project.refundPolicySettings?.policy_version_id ??\n this.defaultVersionId;\n const countryIso = this.settingsService.user.country.value ?? '';\n const projectId = this.settingsService.project.id;\n return `${this.defaultUrl}?policy_version_id=${versionId}&language=${language}&country=${countryIso}&project_id=${projectId}`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { LegalComponentConfig } from './legal.component.config';\nimport { SettingsService } from '../settings/settings.service';\nimport { RefundPolicyService } from './refund-policy.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LegalService {\n public readonly sctlPolicyUrl = 'https://xsolla.com/sctl';\n\n private get isJapanUser(): boolean {\n return this.settingsService.user?.local === 'ja';\n }\n\n public constructor(\n private readonly settingsService: SettingsService,\n private readonly refundPolicyService: RefundPolicyService\n ) {}\n\n public getLegalComponentConfig(): LegalComponentConfig {\n return {\n isJapanUser: this.isJapanUser,\n refundPolicyUrl: this.refundPolicyService.url,\n sctlPolicyUrl: this.sctlPolicyUrl,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { InitConfiguration } from './core/settings/configuration.interface';\nimport { SettingsService } from './core/settings/settings.service';\nimport { CountryService } from './core/country/country.service';\nimport { PaymentMethodsService } from './core/payment-methods/payment-methods.service';\nimport { PaymentMethod } from './core/payment-methods/payment-method.interface';\nimport { SavedMethodsService } from './core/saved-methods/saved-methods.service';\nimport { SavedMethod } from './core/saved-methods/saved-method.interface';\nimport { UserBalanceResponse } from './core/user-balance/user-balance-response.class';\nimport { UserBalanceService } from './core/user-balance/user-balance.service';\nimport { LegalService } from './core/legal/legal.service';\nimport { LegalComponentConfig } from './core/legal/legal.component.config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CoreLibraryService {\n public paymentMethods = {\n getList: async (): Promise<PaymentMethod[]> =>\n this.paymentMethodsService.getList(),\n\n getQuickMethods: async (): Promise<PaymentMethod[]> =>\n this.paymentMethodsService.getQuickMethods(),\n getSavedMethods: async (): Promise<SavedMethod[]> =>\n this.savedMethodsService.getList(),\n getUserBalance: async (): Promise<UserBalanceResponse> =>\n this.userBalanceService.getUserBalance(),\n };\n\n public constructor(\n private readonly settingsService: SettingsService,\n private readonly countryService: CountryService,\n private readonly paymentMethodsService: PaymentMethodsService,\n private readonly savedMethodsService: SavedMethodsService,\n private readonly userBalanceService: UserBalanceService,\n private readonly legalService: LegalService\n ) {}\n\n public async init(configuration: InitConfiguration): Promise<void> {\n return this.settingsService.init(configuration);\n }\n\n public setCountry(country: string): void {\n this.countryService.setCountry(country);\n }\n\n public getLegalComponentConfig(): LegalComponentConfig {\n return this.legalService.getLegalComponentConfig();\n }\n}\n","import { HttpErrorResponse, HttpRequest } from '@angular/common/http';\nimport { AppError } from './app-error.class';\nimport { HttpErrorData } from '../http-interceptor/http-error-data.interface';\nimport { HttpErrorResponseData } from '../http-interceptor/http-error-response-data.interface';\n\nexport class HttpError extends AppError {\n private readonly RESTRICTED_KEYS_REGEXP = new RegExp(\n '.*(card_number|number|cvv|cvn|month|year|cardholdername|client_data|dfp|password).*',\n 'i'\n );\n private readonly httpErrorData!: HttpErrorData;\n\n public constructor(error: HttpErrorResponse, req: HttpRequest<unknown>) {\n super(error.message);\n\n this.httpErrorData = {\n request: {\n url: req.url,\n method: req.method,\n headers: req.headers,\n },\n response: {\n status: error.status,\n headers: error.headers,\n },\n };\n\n if (req.body) {\n this.httpErrorData.request.data = this.cleanPersonalData(\n req.body as { [key: string]: unknown }\n );\n }\n\n if (error.statusText) {\n const errorData = error.error as HttpErrorResponseData;\n\n this.httpErrorData.response.data = {\n statusText: error.statusText,\n errors: errorData?.errors ?? [],\n };\n }\n }\n\n public getHttpErrorData(): HttpErrorData {\n return this.httpErrorData;\n }\n\n private cleanPersonalData(data: { [key: string]: unknown }): {\n [key: string]: unknown;\n } {\n return Object.entries(data).reduce((acc, [key, val]) => {\n return {\n ...acc,\n [key]: this.RESTRICTED_KEYS_REGEXP.test(key) ? '***' : val,\n };\n }, {});\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\n\nimport { catchError } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { HttpError } from '../errors/http-error.class';\n@Injectable()\nexport class HttpExceptionsInterceptor implements HttpInterceptor {\n public constructor(public router: Router) {}\n\n public intercept(\n req: HttpRequest<unknown>,\n next: HttpHandler\n ): Observable<HttpEvent<unknown>> {\n return next.handle(req).pipe(\n catchError((error: HttpErrorResponse) => {\n return throwError(() => new HttpError(error, req));\n })\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\nimport { HttpExceptionsInterceptor } from './core/exceptions-handling/http-interceptor/http-exceptions.interceptor';\nimport { windowToken } from './core/window.token';\nimport { paymentMethodsResponseFactoryProvider } from './core/payment-methods/payment-methods-response.token';\nimport { savedMethodsResponseFactoryProvider } from './core/saved-methods/saved-methods-response.token';\nimport { userBalanceResponseFactoryProvider } from './core/user-balance/user-balance-response.token';\n\n@NgModule({\n imports: [HttpClientModule],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpExceptionsInterceptor,\n multi: true,\n },\n { provide: windowToken, useValue: window },\n paymentMethodsResponseFactoryProvider,\n savedMethodsResponseFactoryProvider,\n userBalanceResponseFactoryProvider,\n ],\n})\nexport class CoreLibraryModule {}\n","/*\n * Public API Surface of core-library\n */\n\nexport * from './lib/core-library.service';\nexport * from './lib/core-library.module';\nexport * from './lib/core/legal/legal.component.config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SecureApiClient","i1.SettingsService","i2.CountryService","i3.SecureApiClient","i2.SecureApiClient","i2.RefundPolicyService","i3.PaymentMethodsService","i4.SavedMethodsService","i5.UserBalanceService","i6.LegalService","i1"],"mappings":"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"}
|