UNPKG

@alpdeniz/iyzipay-js

Version:
46 lines 1.6 kB
// Imports // ================================= import { api, cardStorage, payments, submerchant } from "../requests"; import * as constants from "../utils/constants"; // Client Setup // ================================= /** * Base setup for client * @param config * @returns */ export const baseClient = (config) => { // Check if sandbox const isSandbox = config.apiKey.includes('sandbox') || config.secretKey.includes('sandbox'); // Handle if config uri is not set const parsedConfig = Object.assign({}, config); if (!parsedConfig.uri) { parsedConfig.uri = isSandbox ? `${constants.apiUrl.SANDBOX}` : `${constants.apiUrl.PRODUCTION}`; } // Create client const client = Object.assign(Object.assign(Object.assign({}, constants), parsedConfig), { isSandbox }); // Allow extending the client function extend(base) { return (extendFn) => { const extended = extendFn(base); for (const key in client) delete extended[key]; const combined = Object.assign(Object.assign({}, base), extended); return Object.assign(combined, { extend: extend(combined) }); }; } // Return extending return client; }; /** * Main createClient * @param config * @returns */ export default function createClient(config) { const base = baseClient(config); return Object.assign(Object.assign({}, base), { api: api(base), payments: payments(base), submerchant: submerchant(base), cardStorage: cardStorage(base) }); } //# sourceMappingURL=index.js.map