{"version":3,"sources":["jsdelivr-header.js","/npm/muhasip@0.0.13/muhasip.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,MAAQ,QAAQ,SAYtB,MAAM,QACF,WAAA,CAAY,GACR,KAAK,OAAS,CAClB,CAEA,OAAM,EAAS,KAAC,EAAI,OAAE,EAAS,MAAK,KAAE,EAAI,OAAE,IACxC,OAAO,MAAM,CACT,IAAK,2BAA6B,EAClC,SACA,OACA,SACA,QAAS,CACL,OAAQ,mBACR,eAAgB,mBAChB,OAAQ,KAAK,UAElB,MAAM,GAEE,EAAS,OACjB,OAAM,EAAE,cACA,EAAS,MAExB,CAEA,UAAM,GACF,aAAa,MAAK,EAAS,CAAC,KAAM,QACtC,CAUA,cAAM,EAAS,SAAC,EAAW,GAAE,KAAE,EAAO,EAAC,SAAE,GAAW,EAAK,MAAE,EAAQ,KAC/D,aAAa,MAAK,EAAS,CAAC,KAAM,WAAY,OAAQ,CAAC,WAAU,OAAM,WAAU,UACrF,CAOA,aAAM,CAAQ,GACV,aAAa,MAAK,EAAS,CAAC,KAAM,YAAc,GACpD,CAYA,aAAM,EAAQ,OAAC,EAAM,UAAE,EAAS,QAAE,EAAO,YAAE,EAAW,WAAE,GAAa,EAAK,UAAE,IACxE,aAAa,MAAK,EAAS,CACvB,KAAM,MACN,OAAQ,OACR,KAAM,CACF,SACA,YACA,UACA,cACA,aACA,cAGZ,CASA,SAAM,CAAI,EAAQ,GAAU,GACxB,aAAa,MAAK,EAAS,CACvB,OAAQ,EAAU,SAAW,MAC7B,KAAM,OAAS,GAEvB,CAWA,kBAAM,CAAa,GAAQ,WAAC,EAAU,UAAE,IACpC,aAAa,MAAK,EAAS,CACvB,OAAQ,MACR,KAAM,OAAS,EACf,KAAM,CACF,aACA,cAGZ,CAYA,sBAAM,EAAiB,UACI,EAAS,QAAE,EAAO,SAAE,GAAW,EAAK,OAAE,EAAS,EAAC,SAAE,EAAW,GAAE,KAAE,EAAO,IAE/F,aAAa,MAAK,EAAS,CACvB,KAAM,oBACN,OAAQ,CACJ,YACA,UACA,WACA,SACA,WACA,SAGZ,EAIJ,OAAO,QAAU","file":"/npm/muhasip@0.0.13/muhasip.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.19.2.\n * Original file: /npm/muhasip@0.0.13/muhasip.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const axios = require(\"axios\")\n\n\n/**\n * Create an instance of Muhasip\n *\n * @param {String} apiKey muhasip.pro arayüzü üzerinden edinmeniz gerekmektedir.\n * Projejerin ihtiyaçlarına göre geliştirilmektedir.\n *\n */\n\n\nclass muhasip {\n    constructor(apiKey) {\n        this.apiKey = apiKey\n    }\n\n    async #request({path, method = 'get', data, params}) {\n        return axios({\n            url: \"https://api.muhasip.dev/\" + path,\n            method,\n            data,\n            params,\n            headers: {\n                Accept: \"application/json\",\n                \"Content-Type\": \"application/json\",\n                apikey: this.apiKey\n            }\n        }).then((response) => {\n\n            return response.data\n        }).catch(({response}) => {\n            return response.data\n        })\n    }\n\n    async info() {\n        return await this.#request({path: \"info\"})\n    }\n\n    /**\n     *\n     * @param {Number} pageSize\n     * @param {Number} page\n     * @param {Boolean} archived\n     * @param {String} query\n     *\n     */\n    async contacts({pageSize = 25, page = 1, archived = false, query = ''}) {\n        return await this.#request({path: \"contacts\", params: {pageSize, page, archived, query}})\n    }\n\n    /**\n     *\n     * @param {String} contactId\n     *\n     */\n    async contact(contactId) {\n        return await this.#request({path: \"contacts/\" + contactId})\n    }\n\n\n    /**\n     *\n     * @param {Number} amount\n     * @param {String} returnUrl\n     * @param {String} orderId\n     * @param {String} description\n     * @param {Boolean} commission\n     * @param variables\n     */\n    async posLink({amount, returnUrl, orderId, description, commission = false, variables}) {\n        return await this.#request({\n            path: \"pos\",\n            method: \"post\",\n            data: {\n                amount,\n                returnUrl,\n                orderId,\n                description,\n                commission,\n                variables\n            }\n        })\n    }\n\n    /**\n     *\n     * @param {String} linkId\n     * @requires linkId\n     * @param {Boolean} deleted\n     *\n     */\n    async pos(linkId, deleted = false) {\n        return await this.#request({\n            method: deleted ? 'delete' : 'get',\n            path: \"pos/\" + linkId,\n        })\n    }\n\n    /**\n     *\n     * @param {String} linkId\n     * @requires linkId\n     * @param {String} contactsId\n     * @param {Object} variables\n     * @requires  variables\n     *\n     */\n    async posVariables(linkId, {contactsId, variables}) {\n        return await this.#request({\n            method: \"put\",\n            path: \"pos/\" + linkId,\n            data: {\n                contactsId,\n                variables\n            }\n        })\n    }\n\n    /**\n     *\n     * @param {Date} startDate\n     * @param {Date} endDate\n     * @param {Boolean} incoming\n     * @param {Number} status {0|1|2}\n     * @param {Number} pageSize\n     * @param {Number} page\n     * @returns {Promise<Promise<*> |{status:false}|{status:true}| *>}\n     */\n    async bankTransactions({\n                               startDate, endDate, incoming = false, status = 0, pageSize = 25, page = 1\n                           }) {\n        return await this.#request({\n            path: \"bank/transactions\",\n            params: {\n                startDate,\n                endDate,\n                incoming,\n                status,\n                pageSize,\n                page\n            }\n        })\n    }\n\n}\n\nmodule.exports = muhasip\n"]}