{"version":3,"sources":["jsdelivr-header.js","/npm/smshub@1.6.1/index.js"],"names":[],"mappings":"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","file":"/npm/smshub@1.6.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/smshub@1.6.1/index.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 request = require('request')\r\n\r\nclass SMSHub {\r\n    constructor({url, token, timeout}) {\r\n        this.url = url;\r\n        this.token = token;\r\n        this.timeout = timeout ? timeout : 2000;\r\n    }\r\n\r\n    checkErr(data) {\r\n        const errors = ['ERROR_SQL', 'NO_NUMBERS', 'NO_BALANCE', 'WRONG_SERVICE', 'NO_BALANCE', 'WRONG_SERVICE', 'BAD_ACTION', 'BAD_ACTION', 'BAD_SERVICE', 'BAD_SERVICE', 'BAD_KEY'];\r\n        if (errors.indexOf(data) === -1) {\r\n            return {data: data, error: false};\r\n        } else {\r\n            return {data: false, error: data};\r\n        }\r\n    }\r\n\r\n\r\n    async getCurrentActivations() {\r\n        return new Promise((resolve, reject) => {\r\n            request({\r\n                url: this.url,\r\n                timeout: this.timeout,\r\n                qs: {api_key: this.token, action: 'getCurrentActivations'}\r\n            }, (error, response, body) => {\r\n                if (error) reject({type: 'request'});\r\n                if (response && response.statusCode === 200) {\r\n                    let {data, error} = this.checkErr(body);\r\n                    if (data && !error) {\r\n                        let d = JSON.parse(data);\r\n                        if (d.status === 'fail') {\r\n                            resolve({data: d.msg});\r\n                        } else if (d.status === 'success') {\r\n                            resolve({data: d.array});\r\n                        }\r\n                    } else {\r\n                        reject({type: 'api', error: error});\r\n                    }\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    async operatorAndCountryChange(operator = 'any', country = 0, url = 'https://smshub.org/api.php') {\r\n        return new Promise((resolve, reject) => {\r\n\r\n            request({\r\n                url: url,\r\n                timeout: this.timeout,\r\n                method: 'POST',\r\n                form:{\r\n                    cat:\t\"scripts\",\r\n                    act:\t\"manageActivations\",\r\n                    asc:\t\"operatorChange\",\r\n                    apikey:\tthis.token,\r\n                    country:\tcountry,\r\n                    operator:\toperator\r\n                },\r\n            }, (error, response, body) => {\r\n                if (error) reject({type: 'request'});\r\n                if (response && response.statusCode === 200) {\r\n                    let {error} = this.checkErr(body);\r\n                    let response;\r\n\r\n                    if (!error) {\r\n                        try {\r\n                            response = JSON.parse(body)\r\n                            resolve(response)\r\n                        } catch (e) {\r\n                            reject({type: 'api', error: 'WRONG_RESPONSE'});\r\n                        }\r\n\r\n\r\n                    } else {\r\n                        reject({type: 'api', error: error});\r\n                    }\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    async getListOfCountriesAndOperators(url = 'https://smshub.org/api.php') {\r\n        return new Promise((resolve, reject) => {\r\n\r\n            request({\r\n                url: url,\r\n                timeout: this.timeout,\r\n                method: 'POST',\r\n                headers: {\r\n                    \"Content-Type\": \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n                },\r\n                form:{\r\n                    cat:\t\"scripts\",\r\n                    act:\t\"manageActivations\",\r\n                    asc:\t\"getListOfCountriesAndOperators\",\r\n                    apikey:\tthis.token,\r\n                },\r\n            }, (error, response, body) => {\r\n                if (error) reject({type: 'request'});\r\n                if (response && response.statusCode === 200) {\r\n                    let {error} = this.checkErr(body);\r\n                    let response;\r\n\r\n                    if (!error) {\r\n                        try {\r\n                            response = JSON.parse(body)\r\n                            resolve(response)\r\n                        } catch (e) {\r\n                            reject({type: 'api', error: 'WRONG_RESPONSE'});\r\n                        }\r\n\r\n\r\n                    } else {\r\n                        reject({type: 'api', error: error});\r\n                    }\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    async setParams(service, maxPrice = 1, random = true, country = 0) {\r\n        return new Promise((resolve, reject) => {\r\n            request({\r\n                url: this.url,\r\n                timeout: this.timeout,\r\n                qs: {\r\n                    api_key: this.token,\r\n                    action: 'setMaxPrice',\r\n                    service: service,\r\n                    maxPrice: maxPrice,\r\n                    country: country,\r\n                    random: random\r\n                }\r\n            }, (error, response, body) => {\r\n                if (error) reject({type: 'request'});\r\n                if (response && response.statusCode === 200) {\r\n                    let {error} = this.checkErr(body);\r\n                    if (!error) {\r\n                        resolve();\r\n                    } else {\r\n                        reject({type: 'api', error: error});\r\n                    }\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    async getNumbersStatusAndCostHubFree() {\r\n        return new Promise((resolve, reject) => {\r\n            request({\r\n                url: this.url,\r\n                timeout: this.timeout,\r\n                qs: {api_key: this.token, action: 'getNumbersStatusAndCostHubFree'}\r\n            }, (error, response, body) => {\r\n                if (error) reject({type: 'request'});\r\n                if (response && response.statusCode === 200) {\r\n                    let {data, error} = this.checkErr(body);\r\n                    if (data && !error) {\r\n                        resolve(JSON.parse(data));\r\n                    } else {\r\n                        reject({type: 'api', error: error});\r\n                    }\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    async getBalance() {\r\n        return new Promise((resolve, reject) => {\r\n            request({\r\n                url: this.url,\r\n                timeout: this.timeout,\r\n                qs: {api_key: this.token, action: 'getBalance'}\r\n            }, (error, response, body) => {\r\n                if (error) reject({type: 'request'});\r\n                if (response && response.statusCode === 200) {\r\n                    let {data, error} = this.checkErr(body);\r\n                    if (data && !error) {\r\n                        resolve({balance: parseFloat(data.split(':')[1])});\r\n                    } else {\r\n                        reject({type: 'api', error: error});\r\n                    }\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    async getCode(id) {\r\n        return new Promise((resolve, reject) => {\r\n            let interval_ = setInterval(() => {\r\n                this.getStatus(id).then((response) => {\r\n                    if (response.data === 'STATUS_WAIT_CODE') {\r\n                    }\r\n\r\n                    if (response.data === 'STATUS_CANCEL') {\r\n                        clearInterval(interval_);\r\n                        reject({type: 'status', error: response.data, id: id});\r\n                    }\r\n\r\n                    if (response.data === 'STATUS_OK') {\r\n                        clearInterval(interval_);\r\n                        resolve({code: response.code, id: id});\r\n                    }\r\n                }).catch(err => reject(err));\r\n            }, 1000);\r\n        });\r\n    }\r\n\r\n    async setStatus(id, status_) {\r\n        return new Promise((resolve, reject) => {\r\n            request({\r\n                url: this.url,\r\n                timeout: this.timeout,\r\n                qs: {\r\n                    api_key: this.token,\r\n                    action: 'setStatus',\r\n                    id: id,\r\n                    status: status_\r\n                }\r\n            }, (error, response, body) => {\r\n                if (error) reject({type: 'request', id: id});\r\n\r\n                if (response && response.statusCode === 200) {\r\n                    let {data, error} = this.checkErr(body);\r\n                    if (data && !error) {\r\n                        resolve({data: data});\r\n                    } else reject({type: 'api', error: error, id: id});\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    async getStatus(id) {\r\n        return new Promise((resolve, reject) => {\r\n            request({\r\n                url: this.url,\r\n                timeout: this.timeout,\r\n                qs: {api_key: this.token, action: 'getStatus', id: id}\r\n            }, (error, response, body) => {\r\n                if (error) reject({type: 'request', id: id});\r\n                if (response && response.statusCode === 200) {\r\n                    let {data, error} = this.checkErr(body);\r\n                    if (data && !error) {\r\n                        ((data === 'STATUS_WAIT_CODE' || data === 'STATUS_CANCEL') && resolve({data: data}))\r\n                        let [type, code] = data.split(':');\r\n                        if (type.length) {\r\n                            switch (type) {\r\n                                case 'STATUS_WAIT_RETRY':\r\n                                    resolve({data: type, lastcode: code, id: id})\r\n                                    break;\r\n\r\n                                case 'STATUS_OK':\r\n                                    resolve({data: type, code: code, id: id})\r\n                                    break;\r\n                            }\r\n                        }\r\n                    } else reject({type: 'api', error: error, id: id});\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    async getNumber(service, country = 0) {\r\n        return new Promise((resolve, reject) => {\r\n            request({\r\n                url: this.url,\r\n                timeout: this.timeout,\r\n                qs: {api_key: this.token, action: 'getNumber', service: service, country: country}\r\n            }, (error, response, body) => {\r\n                if (error) reject({type: 'request', country: country, service: service});\r\n                if (response && response.statusCode === 200) {\r\n                    let {data, error} = this.checkErr(body);\r\n                    if (data && !error) {\r\n                        let [response, id, number] = data.split(':');\r\n                        if (response === 'ACCESS_NUMBER') {\r\n                            resolve({id: id, number: number});\r\n                        }\r\n                    } else reject({type: 'api', country: country, service: service, error: error});\r\n                }\r\n            });\r\n        });\r\n    }\r\n}\r\n\r\nmodule.exports = SMSHub;"]}