{"version":3,"file":"index.cjs","sources":["../src/HttpMethod.ts","../src/utils.ts","../src/api/InstitutionApi.ts","../src/api/AgreementApi.ts","../src/api/RequisitionsApi.ts","../src/api/AccountApi.ts","../src/NordigenClient.ts","../src/types/enums.ts","../src/countries.ts"],"sourcesContent":["export const HttpMethod = {\n  GET: \"GET\",\n  POST: \"POST\",\n  PUT: \"PUT\",\n  DELETE: \"DELETE\",\n};\n","import type { IsTruthy, OmitKeysMatching } from \"./types/index.js\";\n\n/**\n * Filter false values from object\n * @param {Object} obj\n * @returns A new object with truthy values\n */\nexport const filterObject = <T extends Record<string | number | symbol, unknown>>(obj: T): OmitKeysMatching<T, IsTruthy<T>> => {\n  return Object.keys(obj ?? {}).reduce((acc, key) => {\n    if (obj[key]) {\n      (acc as any)[key] = obj[key];\n    }\n\n    return acc;\n  }, {}) as OmitKeysMatching<T, IsTruthy<T>>;\n};\n","import type {\n  RetrieveAllSupportedInstitutionsInAGivenCountryData,\n  RetrieveAllSupportedInstitutionsInAGivenCountryParams,\n  RetrieveInstitutionData,\n} from \"../generated.js\";\nimport type { NordigenClient } from \"../NordigenClient.js\";\nimport type { WithClient } from \"../types/client.js\";\n\nexport class InstitutionApi {\n  private readonly endpoint: string = \"institutions\";\n\n  private readonly client: NordigenClient;\n\n  /**\n   * Agreements api class\n   * @param {WithClient} params\n   */\n  constructor({ client }: WithClient) {\n    this.client = client;\n  }\n\n  /**\n   * Get list of institutions\n   * @param {RetrieveAllSupportedInstitutionsInAGivenCountryParams} params\n   * @returns {Promise<RetrieveAllSupportedInstitutionsInAGivenCountryData>} institution data array\n   */\n  getInstitutions({\n    country,\n  }: RetrieveAllSupportedInstitutionsInAGivenCountryParams): Promise<RetrieveAllSupportedInstitutionsInAGivenCountryData> {\n    return this.client.request<RetrieveAllSupportedInstitutionsInAGivenCountryData, RetrieveAllSupportedInstitutionsInAGivenCountryParams>({\n      endpoint: this.endpoint,\n      parameters: {\n        country,\n      },\n    });\n  }\n\n  /***\n   * Get single institution by id\n   * @param {string} id\n   * @returns {Promise<RetrieveInstitutionData>} single institution data\n   */\n  getInstitutionById(id: string): Promise<RetrieveInstitutionData> {\n    return this.client.request<RetrieveInstitutionData>({ endpoint: `${this.endpoint}/${id}/` });\n  }\n}\n","import type { NordigenClient } from \"../NordigenClient.js\";\nimport type {\n  AcceptEuaData,\n  CreateEuaData,\n  EndUserAgreementRequest,\n  EnduserAcceptanceDetailsRequest,\n  RetrieveAllEuAsForAnEndUserData,\n  RetrieveAllEuAsForAnEndUserParams,\n  RetrieveEuaByIdData,\n} from \"../generated.js\";\nimport type { AgreementAcceptPraams as AgreementAcceptParams, AgreementCreateParams } from \"../types/agreement.js\";\nimport type { HasDetail, WithClient } from \"../types/client.js\";\nimport { HttpMethod } from \"../HttpMethod.js\";\n\nexport class AgreementApi {\n  private readonly endpoint = \"agreements/enduser\";\n\n  private readonly client: NordigenClient;\n\n  /**\n   * Agreements api class\n   * @param {WithClient} params\n   */\n  constructor({ client }: WithClient) {\n    this.client = client;\n  }\n\n  /**\n   * Create enduser agreement\n   * @param {AgreementCreateParams} params\n   * @returns {Promise<CreateEuaData>} Agreement object\n   */\n  createAgreement({\n    institutionId,\n    maxHistoricalDays = 90,\n    accessValidForDays = 90,\n    accessScope = [\"balances\", \"details\", \"transactions\"],\n  }: AgreementCreateParams): Promise<CreateEuaData> {\n    const payload: EndUserAgreementRequest = {\n      institution_id: institutionId,\n      max_historical_days: maxHistoricalDays,\n      access_valid_for_days: accessValidForDays,\n      access_scope: accessScope,\n    };\n\n    return this.client.request<CreateEuaData, EndUserAgreementRequest>({\n      endpoint: `${this.endpoint}/`,\n      parameters: payload,\n      method: HttpMethod.POST,\n    });\n  }\n\n  /**\n   * Get list of agreements\n   * @param {RetrieveAllEuAsForAnEndUserParams} params\n   * @returns {Promise<RetrieveAllEuAsForAnEndUserData>} End user agreements\n   */\n  getAgreements({ limit = 100, offset = 0 }: RetrieveAllEuAsForAnEndUserParams = {}): Promise<RetrieveAllEuAsForAnEndUserData> {\n    const params: RetrieveAllEuAsForAnEndUserParams = { limit, offset };\n\n    return this.client.request<RetrieveAllEuAsForAnEndUserData, RetrieveAllEuAsForAnEndUserParams>({\n      endpoint: `${this.endpoint}/`,\n      parameters: params,\n    });\n  }\n\n  /**\n   * Get agreement by agreement id\n   * @param {string} agreementId\n   * @returns {Promise<RetrieveEuaByIdData>} object with specific enduser agreement\n   */\n  getAgreementById(agreementId: string): Promise<RetrieveEuaByIdData> {\n    return this.client.request<RetrieveEuaByIdData>({\n      endpoint: `${this.endpoint}/${agreementId}/`,\n    });\n  }\n\n  /**\n   * Delete enduser agreement\n   * @param {string} agreementId\n   * @returns {Promise<HasDetail>} Deleted agreement object\n   */\n  deleteAgreement(agreementId: string): Promise<HasDetail> {\n    return this.client.request<HasDetail>({\n      endpoint: `${this.endpoint}/${agreementId}/`,\n      method: HttpMethod.DELETE,\n    });\n  }\n\n  /**\n   * Accept End user agreement\n   * @param {AgreementAcceptParams} params\n   * @returns {Promise<AcceptEuaData>} Information on accepted agreement\n   */\n  acceptAgreement({ agreementId, ip, userAgent }: AgreementAcceptParams): Promise<AcceptEuaData> {\n    const payload: EnduserAcceptanceDetailsRequest = {\n      user_agent: userAgent,\n      ip_address: ip,\n    };\n\n    return this.client.request<AcceptEuaData, EnduserAcceptanceDetailsRequest>({\n      endpoint: `${this.endpoint}/${agreementId}/accept/`,\n      parameters: payload,\n      method: HttpMethod.PUT,\n    });\n  }\n}\n","import type { NordigenClient } from \"../NordigenClient.js\";\nimport type {\n  PaginatedRequisitionList,\n  RequisitionByIdData,\n  RequisitionRequest,\n  RetrieveAllRequisitionsData,\n  RetrieveAllRequisitionsParams,\n  SpectacularRequisition,\n} from \"../generated.js\";\nimport type { HasDetail, WithClient } from \"../types/client.js\";\nimport { HttpMethod } from \"../HttpMethod.js\";\nimport { RequisitionCreateOptions } from \"../types/requisition.js\";\n\nexport class RequisitionsApi {\n  private readonly endpoint = \"requisitions\";\n\n  private readonly client: NordigenClient;\n\n  /**\n   * Agreements api class\n   * @param {WithClient} params\n   */\n  constructor({ client }: WithClient) {\n    this.client = client;\n  }\n\n  /**\n   * Create requisition. For creating links and retrieving accounts.\n   * @param {RequisitionCreateOptions} params\n   * @returns {Promise<SpectacularRequisition>} Requisition object\n   */\n  createRequisition({\n    redirectUrl,\n    institutionId,\n    agreement,\n    userLanguage,\n    redirectImmediate = false,\n    accountSelection = false,\n    reference = null,\n    ssn = null,\n  }: RequisitionCreateOptions): Promise<SpectacularRequisition> {\n    const payload: RequisitionRequest = {\n      redirect: redirectUrl,\n      institution_id: institutionId,\n      redirect_immediate: redirectImmediate,\n      account_selection: accountSelection,\n      ...(userLanguage && { user_language: userLanguage }),\n      ...(agreement && { agreement: typeof agreement === \"string\" ? agreement : agreement.id }),\n      ...(ssn && { ssn: ssn }),\n      ...(reference && { reference: reference }),\n    };\n\n    return this.client.request<SpectacularRequisition, RequisitionRequest>({\n      endpoint: `${this.endpoint}/`,\n      parameters: payload,\n      method: HttpMethod.POST,\n    });\n  }\n\n  /**\n   * Get all requisitions\n   * @param {RetrieveAllRequisitionsParams} params\n   * @returns {Promise<PaginatedRequisitionList>} Requisitions object\n   */\n  getRequisitions({ limit = 100, offset = 0 }: RetrieveAllRequisitionsParams = {}): Promise<PaginatedRequisitionList> {\n    const params: RetrieveAllRequisitionsParams = { limit, offset };\n\n    return this.client.request<RetrieveAllRequisitionsData, RetrieveAllRequisitionsParams>({\n      endpoint: this.endpoint,\n      method: HttpMethod.GET,\n      parameters: params,\n    });\n  }\n\n  /**\n   * Get requisition by id\n   * @param {string} requisitionId\n   * @returns {Promise<RequisitionByIdData>} Returns specific requisition\n   */\n  getRequisitionById(requisitionId: string): Promise<RequisitionByIdData> {\n    return this.client.request<RequisitionByIdData>({\n      endpoint: `${this.endpoint}/${requisitionId}/`,\n    });\n  }\n\n  /**\n   * Delete requisition by id\n   * @param {string} requisitionId\n   * @returns {HasDetail} Object that consist confirmation message that requisition has been deleted\n   */\n  deleteRequisition(requisitionId: string): Promise<HasDetail> {\n    return this.client.request<HasDetail>({\n      endpoint: `${this.endpoint}/${requisitionId}/`,\n      method: HttpMethod.DELETE,\n    });\n  }\n}\n","import type { NordigenClient } from \"../NordigenClient.js\";\nimport type {\n  AccountApiParams,\n  AccountGetPath,\n  AccountGetPathToParams,\n  AccountGetPathToResponse,\n  AccountGetTransactionsParams,\n  RetrieveAccountTransactionsResponse,\n} from \"../types/account.js\";\nimport type { RetrieveAccountBalancesData, RetrieveAccountDetailsData, RetrieveAccountMetadataData } from \"../generated.js\";\n\nexport class AccountApi {\n  private readonly endpoint = \"accounts\";\n\n  private readonly client: NordigenClient;\n\n  private readonly accountId: string;\n\n  /**\n   * Account api class\n   * @param {Object} params\n   */\n  constructor({ client, accountId }: AccountApiParams) {\n    this.client = client;\n    this.accountId = accountId;\n  }\n\n  /**\n   * Construct reusable get request\n   *\n   * @template {AccountGetPath} P\n   * @param {P} path api endpoint\n   * @param {AccountGetPathToParams[P]} [parameters] parameters\n   * @returns {Promise<AccountGetPathToResponse[P]>} Account data object\n   */\n  private get<P extends AccountGetPath>(path: P, parameters: AccountGetPathToParams[P]): Promise<AccountGetPathToResponse[P]> {\n    const url = `${this.endpoint}/${this.accountId}/${path}/`;\n    return this.client.request({ endpoint: url, parameters: parameters || {} });\n  }\n\n  /**\n   * Access account metadata\n   * @returns {Promise<RetrieveAccountMetadataData>} Account metadata object\n   */\n  getMetadata(): Promise<RetrieveAccountMetadataData> {\n    return this.client.request<RetrieveAccountMetadataData>({\n      endpoint: `${this.endpoint}/${this.accountId}/`,\n    });\n  }\n\n  /**\n   * Access account details\n   * @returns {Promise<RetrieveAccountDetailsData>} Object with account details\n   */\n  getDetails(): Promise<RetrieveAccountDetailsData> {\n    return this.get(\"details\", {});\n  }\n\n  /**\n   * Access account balances\n   * @returns {Promise<RetrieveAccountBalancesData>} Object with account balances\n   */\n  getBalances(): Promise<RetrieveAccountBalancesData> {\n    return this.get(\"balances\", {});\n  }\n\n  /**\n   * Access account transactions\n   * @param {AccountGetTransactionsParams} params\n   * @returns {Promise<RetrieveAccountTransactionsResponse>} Object with account transactions\n   */\n  getTransactions({ dateFrom, dateTo }: AccountGetTransactionsParams = {}): Promise<RetrieveAccountTransactionsResponse> {\n    const params: AccountGetPathToParams[\"transactions\"] = {\n      date_from: dateFrom,\n      date_to: dateTo,\n    };\n\n    return this.get(\"transactions\", params);\n  }\n}\n","import axios from \"axios\";\nimport { HttpMethod } from \"./HttpMethod.js\";\nimport { filterObject } from \"./utils.js\";\nimport { ExchangeTokenOptions, InitSessionOptions, NordigenClientOptions, RequestWrapperOptions } from \"./types/client.js\";\nimport {\n  JWTObtainPairRequest,\n  JWTRefreshRequest,\n  SpectacularJWTObtain,\n  SpectacularJWTRefresh,\n  SpectacularRequisition,\n} from \"./generated.js\";\nimport { InstitutionApi } from \"./api/InstitutionApi.js\";\nimport { AgreementApi } from \"./api/AgreementApi.js\";\nimport { RequisitionsApi } from \"./api/RequisitionsApi.js\";\nimport { AccountApi } from \"./api/AccountApi.js\";\n\nexport class NordigenClient {\n  private readonly endpoint = \"token\";\n\n  private _token: string | null = null;\n\n  private readonly baseUrl: string;\n\n  private readonly secretId: string;\n\n  private readonly secretKey: string;\n\n  private headers: Record<string, string> = {};\n\n  public institution: InstitutionApi;\n\n  public agreement: AgreementApi;\n\n  public requisition: RequisitionsApi;\n\n  constructor({ secretId, secretKey, baseUrl = \"https://bankaccountdata.gocardless.com/api/v2\" }: NordigenClientOptions) {\n    this.baseUrl = baseUrl;\n    this.secretKey = secretKey;\n    this.secretId = secretId;\n    this.headers = {\n      \"accept\": \"application/json\",\n      \"Content-Type\": \"application/json\",\n      \"User-Agent\": \"Nordigen-Node-v2\",\n    };\n    this.institution = new InstitutionApi({ client: this });\n    this.agreement = new AgreementApi({ client: this });\n    this.requisition = new RequisitionsApi({ client: this });\n  }\n\n  /**\n   * Token setter\n   * @param {string|null} token\n   */\n  set token(token: string | null) {\n    this._token = token;\n\n    if (!token) {\n      delete this.headers[\"Authorization\"];\n      return;\n    }\n\n    this.headers[\"Authorization\"] = `Bearer ${token}`;\n  }\n\n  /**\n   * Token getter\n   * @returns {string|null} token\n   */\n  get token(): string | null {\n    return this._token;\n  }\n\n  /**\n   * Construct Account object\n   * @param {string} accountId\n   * @returns {AccountApi}\n   */\n  account(accountId: string): AccountApi {\n    return new AccountApi({ client: this, accountId: accountId });\n  }\n\n  /**\n   * Request wrapper\n   * @template T\n   * @template P\n   * @param {RequestWrapperOptions<P>} params\n   * @returns {Promise<T>} Request object\n   */\n  async request<T = unknown, P = unknown>({ endpoint, parameters, method = HttpMethod.GET }: RequestWrapperOptions<P>): Promise<T> {\n    const url = new URL(`${this.baseUrl}/${endpoint}`);\n    const validParams = filterObject(parameters as any);\n\n    if (method === HttpMethod.GET && Object.keys(validParams).length > 0) {\n      url.search = new URLSearchParams(validParams).toString();\n    }\n\n    const response = await axios({\n      method,\n      url: url.toString(),\n      headers: this.headers,\n      ...(method !== HttpMethod.GET ? { data: JSON.stringify(parameters) } : {}),\n    });\n\n    return response.data;\n  }\n\n  /**\n   * Generate new access token\n   * @returns {Promise<SpectacularJWTObtain>} Object with token details\n   */\n  async generateToken(): Promise<SpectacularJWTObtain> {\n    const payload = {\n      secret_key: this.secretKey,\n      secret_id: this.secretId,\n    };\n\n    const response = await this.request<SpectacularJWTObtain, JWTObtainPairRequest>({\n      endpoint: `${this.endpoint}/new/`,\n      parameters: payload,\n      method: HttpMethod.POST,\n    });\n\n    this.token = response?.access ?? null;\n\n    return response;\n  }\n\n  /**\n   * Exchange refresh token for access token\n   * @param {ExchangeTokenOptions} params\n   * @returns {Promise<SpectacularJWTRefresh>} Object with new access token\n   */\n  async exchangeToken({ refreshToken }: ExchangeTokenOptions): Promise<SpectacularJWTRefresh> {\n    const payload: JWTRefreshRequest = { refresh: refreshToken };\n\n    const response = await this.request<SpectacularJWTRefresh, JWTRefreshRequest>({\n      endpoint: `${this.endpoint}/refresh/`,\n      parameters: payload,\n      method: HttpMethod.POST,\n    });\n\n    return response;\n  }\n\n  /**\n   * Factory method that creates authorization in a specific institution\n   * -   and are responsible for the following steps:\n   *       * Gets institution id;\n   *       * Creates agreement\n   *       * Creates requisiton\n   *\n   * @param {InitSessionOptions} params\n   * @returns {Promise<SpectacularRequisition>} Requisitions object\n   */\n  async initSession({\n    redirectUrl,\n    institutionId,\n    maxHistoricalDays = 90,\n    // accessValidForDays = 90,\n    userLanguage = \"en\",\n    referenceId,\n    ssn = null,\n    redirectImmediate = false,\n    accountSelection = false,\n  }: InitSessionOptions): Promise<SpectacularRequisition> {\n    // Create agreement\n    const agreement = await this.agreement.createAgreement({\n      maxHistoricalDays: maxHistoricalDays,\n      institutionId: institutionId,\n    });\n\n    // Create new requisition\n    const requisition = await this.requisition.createRequisition({\n      redirectUrl: redirectUrl,\n      institutionId: institutionId,\n      reference: referenceId,\n      agreement,\n      userLanguage: userLanguage,\n      redirectImmediate: redirectImmediate,\n      accountSelection: accountSelection,\n      ssn: ssn,\n    });\n\n    return requisition;\n  }\n}\n","export enum AccountStatusEnum {\n  DISCOVERED = \"DISCOVERED\",\n  PROCESSING = \"PROCESSING\",\n  READY = \"READY\",\n  ERROR = \"ERROR\",\n  SUSPENDED = \"SUSPENDED\",\n}\n\nexport enum AddressCountryEnum {\n  AT = \"AT\",\n  BE = \"BE\",\n  BG = \"BG\",\n  HR = \"HR\",\n  CY = \"CY\",\n  CZ = \"CZ\",\n  DK = \"DK\",\n  EE = \"EE\",\n  FI = \"FI\",\n  FR = \"FR\",\n  DE = \"DE\",\n  GR = \"GR\",\n  HU = \"HU\",\n  IS = \"IS\",\n  IE = \"IE\",\n  IT = \"IT\",\n  LV = \"LV\",\n  LI = \"LI\",\n  LT = \"LT\",\n  LU = \"LU\",\n  MT = \"MT\",\n  NL = \"NL\",\n  NO = \"NO\",\n  PL = \"PL\",\n  PT = \"PT\",\n  RO = \"RO\",\n  SK = \"SK\",\n  SI = \"SI\",\n  ES = \"ES\",\n  SE = \"SE\",\n  GB = \"GB\",\n  US = \"US\",\n}\n\nexport enum CountryEnum {\n  AT = \"AT\",\n  BE = \"BE\",\n  BG = \"BG\",\n  HR = \"HR\",\n  CY = \"CY\",\n  CZ = \"CZ\",\n  DK = \"DK\",\n  EE = \"EE\",\n  FI = \"FI\",\n  FR = \"FR\",\n  DE = \"DE\",\n  GR = \"GR\",\n  HU = \"HU\",\n  IS = \"IS\",\n  IE = \"IE\",\n  IT = \"IT\",\n  LV = \"LV\",\n  LI = \"LI\",\n  LT = \"LT\",\n  LU = \"LU\",\n  MT = \"MT\",\n  NL = \"NL\",\n  NO = \"NO\",\n  PL = \"PL\",\n  PT = \"PT\",\n  RO = \"RO\",\n  SK = \"SK\",\n  SI = \"SI\",\n  ES = \"ES\",\n  SE = \"SE\",\n  GB = \"GB\",\n  US = \"US\",\n}\n\nexport enum ExecutionRuleEnum {\n  Following = \"following\",\n  Preceding = \"preceding\",\n}\n\nexport enum FrequencyEnum {\n  Daily = \"Daily\",\n  Weekly = \"Weekly\",\n  EveryTwoWeeks = \"EveryTwoWeeks\",\n  Monthly = \"Monthly\",\n  EveryTwoMonths = \"EveryTwoMonths\",\n  Quarterly = \"Quarterly\",\n  SemiAnnual = \"SemiAnnual\",\n  Annual = \"Annual\",\n  MonthlyVariable = \"MonthlyVariable\",\n}\n\nexport enum PaymentProductEnum {\n  T2P = \"T2P\",\n  SCT = \"SCT\",\n  ISCT = \"ISCT\",\n  CBCT = \"CBCT\",\n  BACS = \"BACS\",\n  CHAPS = \"CHAPS\",\n  FPS = \"FPS\",\n  SWIFT = \"SWIFT\",\n  BT = \"BT\",\n  MT = \"MT\",\n  DCT = \"DCT\",\n  IDCT = \"IDCT\",\n}\n\n/**\n * * `INIT` - Initiated. Payment has been initiated.\n * * `ERRE` - ExecutionError. We experienced error on payment execution.\n * * `ERRS` - StatusError. We experienced error retrieving payment status. Try again.\n * * `ACCC` - AcceptedSettlementCompleted. Settlement on the creditor's account has been completed\n * * `ACCP` - AcceptedCustomerProfile. Preceding check of technical validation was successful. Customer profile check was successful\n * * `ACSC` - AcceptedSettlementCompleted. Settlement on the debtor’s account has been completed\n * * `ACSP` - AcceptedSettlementInProcess. All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution\n * * `ACTC` - AcceptedTechnicalValidation. Authentication and syntactical and semantical validation are successful\n * * `ACWC` - AcceptedWithChange. Instruction is accepted but a change will be made, such as date or remittance not sent\n * * `ACWP` - AcceptedWithoutPosting. Payment instruction included in the credit transfer is accepted without being posted to the creditor customer’s account\n * * `RCVD` - Received. Payment initiation has been received by the receiving agent\n * * `PDNG` - Pending. Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed\n * * `RJCT` - Rejected. Payment initiation or individual transaction included in the payment initiation has been rejected.\n * * `CANC` - Cancelled. Payment initiation has been cancelled before execution\n * * `ACFC` - AcceptedFundsChecked. Pre-ceeding check of technical validation and customer profile was successful and an automatic funds check was positive\n * * `PATC` - PartiallyAcceptedTechnicalCorrect. The payment initiation needs multiple authentications, where some but not yet all have been performed\n * * `PART` - PartiallyAccepted. A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status\n */\nexport enum PaymentStatusEnum {\n  INIT = \"INIT\",\n  ERRE = \"ERRE\",\n  ERRS = \"ERRS\",\n  ACCC = \"ACCC\",\n  ACCP = \"ACCP\",\n  ACSC = \"ACSC\",\n  ACSP = \"ACSP\",\n  ACTC = \"ACTC\",\n  ACWC = \"ACWC\",\n  ACWP = \"ACWP\",\n  RCVD = \"RCVD\",\n  PDNG = \"PDNG\",\n  RJCT = \"RJCT\",\n  CANC = \"CANC\",\n  ACFC = \"ACFC\",\n  PATC = \"PATC\",\n  PART = \"PART\",\n}\n\nexport enum PaymentTypeEnum {\n  SinglePayment = \"single-payment\",\n  BulkPayment = \"bulk-payment\",\n  PeriodicPayment = \"periodic-payment\",\n}\n\nexport enum Status1C5Enum {\n  CR = \"CR\",\n  ID = \"ID\",\n  LN = \"LN\",\n  RJ = \"RJ\",\n  ER = \"ER\",\n  SU = \"SU\",\n  EX = \"EX\",\n  GC = \"GC\",\n  UA = \"UA\",\n  GA = \"GA\",\n  SA = \"SA\",\n}\n\nexport enum TypeEnum {\n  IBAN = \"IBAN\",\n  SCAN = \"SCAN\",\n  BBAN = \"BBAN\",\n}\n","import { CountryEnum } from \"./types/enums.js\";\nimport type { Country } from \"./types/client.js\";\n\nexport const countries: Country[] = [\n  {\n    id: CountryEnum.AT,\n    name: \"Austria\",\n  },\n  {\n    id: CountryEnum.BE,\n    name: \"Belgium\",\n  },\n  {\n    id: CountryEnum.BG,\n    name: \"Bulgaria\",\n  },\n  {\n    id: CountryEnum.HR,\n    name: \"Croatia\",\n  },\n  {\n    id: CountryEnum.CY,\n    name: \"Cyprus\",\n  },\n  {\n    id: CountryEnum.CZ,\n    name: \"Czechia\",\n  },\n  {\n    id: CountryEnum.DK,\n    name: \"Denmark\",\n  },\n  {\n    id: CountryEnum.EE,\n    name: \"Estonia\",\n  },\n  {\n    id: CountryEnum.FI,\n    name: \"Finland\",\n  },\n  {\n    id: CountryEnum.FR,\n    name: \"France\",\n  },\n  {\n    id: CountryEnum.DE,\n    name: \"Germany\",\n  },\n  {\n    id: CountryEnum.GR,\n    name: \"Greece\",\n  },\n  {\n    id: CountryEnum.HU,\n    name: \"Hungary\",\n  },\n  {\n    id: CountryEnum.IS,\n    name: \"Iceland\",\n  },\n  {\n    id: CountryEnum.IE,\n    name: \"Ireland\",\n  },\n  {\n    id: CountryEnum.IT,\n    name: \"Italy\",\n  },\n  {\n    id: CountryEnum.LV,\n    name: \"Latvia\",\n  },\n  {\n    id: CountryEnum.LI,\n    name: \"Liechtenstein\",\n  },\n  {\n    id: CountryEnum.LT,\n    name: \"Lithuania\",\n  },\n  {\n    id: CountryEnum.LU,\n    name: \"Luxembourg\",\n  },\n  {\n    id: CountryEnum.MT,\n    name: \"Malta\",\n  },\n  {\n    id: CountryEnum.NL,\n    name: \"Netherlands\",\n  },\n  {\n    id: CountryEnum.NO,\n    name: \"Norway\",\n  },\n  {\n    id: CountryEnum.PL,\n    name: \"Poland\",\n  },\n  {\n    id: CountryEnum.PT,\n    name: \"Portugal\",\n  },\n  {\n    id: CountryEnum.RO,\n    name: \"Romania\",\n  },\n  {\n    id: CountryEnum.SK,\n    name: \"Slovakia\",\n  },\n  {\n    id: CountryEnum.SI,\n    name: \"Slovenia\",\n  },\n  {\n    id: CountryEnum.ES,\n    name: \"Spain\",\n  },\n  {\n    id: CountryEnum.SE,\n    name: \"Sweden\",\n  },\n  {\n    id: CountryEnum.GB,\n    name: \"United Kingdom\",\n  },\n];\n"],"names":["HttpMethod","filterObject","obj","acc","key","InstitutionApi","client","__publicField","country","id","AgreementApi","institutionId","maxHistoricalDays","accessValidForDays","accessScope","payload","limit","offset","params","agreementId","ip","userAgent","RequisitionsApi","redirectUrl","agreement","userLanguage","redirectImmediate","accountSelection","reference","ssn","requisitionId","AccountApi","accountId","path","parameters","url","dateFrom","dateTo","NordigenClient","secretId","secretKey","baseUrl","token","endpoint","method","validParams","axios","response","refreshToken","referenceId","AccountStatusEnum","AddressCountryEnum","CountryEnum","ExecutionRuleEnum","FrequencyEnum","PaymentProductEnum","PaymentStatusEnum","PaymentTypeEnum","Status1C5Enum","TypeEnum","countries"],"mappings":"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,KACLA,EAAA,GAAK,KACLA,EAAA,GAAK,KACLA,EAAA,GAAK,KACLA,EAAA,GAAK,KACLA,EAAA,GAAK,KACLA,EAAA,GAAK,KAXKA,IAAAA,GAAA,CAAA,CAAA,EAcAC,GAAAA,IACVA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OAHGA,IAAAA,GAAA,CAAA,CAAA,ECtKL,MAAMC,EAAuB,CAClC,CACE,GAAIR,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,UACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,QACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,QACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,QACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,OACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,QACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,eACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,WACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,YACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,OACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,aACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,QACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,QACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,UACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,SACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,UACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,UACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,OACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,QACR,EACA,CACE,GAAIA,EAAY,GAChB,KAAM,gBACR,CACF"}