{"version":3,"sources":["jsdelivr-header.js","/npm/envato-api@1.0.2/main/api.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,QAAU,QAAQ,YAClB,QAAU,QAAQ,WAClB,YAAc,QAAQ,eAE1B,SAAS,YAAY,GACjB,IAAI,EAAU,UAAU,OAAS,EAAK,UAAU,GAAK,MAErD,OAAO,WACH,IAAI,EAAc,EACd,EAAQ,UAAU,OAAS,GAA+B,iBAAjB,UAAU,GAAmB,UAAU,GAAW,CAAC,EAEhG,IAAK,IAAI,KAAO,EACR,EAAK,QAAQ,IAAI,IAAQ,IACzB,EAAc,EAAY,MAAM,IAAI,GAAK,KAAK,EAAK,WAC5C,EAAK,IAIpB,IAAI,EAAS,UAAgB,OAAI,IAAM,YAAY,UAAU,GAAQ,GACjE,EAAM,yBAA2B,GAA0B,MAAV,EAAiB,EAAQ,IAC1E,EAAQ,KAAK,MACb,EAAY,KAAK,UAErB,OAAO,IAAI,SAAQ,SAAS,EAAS,GACjC,QAAQ,CACJ,IAAK,EACL,OAAQ,EACR,QAAS,CACL,cAAiB,UAAY,EAC7B,aAAc,KAEnB,SAAU,EAAO,EAAU,GAC1B,GAAI,EAAO,OAAO,EAAO,IAAI,MAAM,kBAAoB,EAAM,UAE7D,GAA4B,MAAxB,EAAS,WAAoB,OAAO,EAAO,IAAI,MAAM,gBACzD,GAA4B,MAAxB,EAAS,WAAoB,OAAO,EAAO,IAAI,MAAM,iBACzD,GAA4B,MAAxB,EAAS,WAAoB,OAAO,EAAO,IAAI,MAAM,kBACzD,GAA4B,MAAxB,EAAS,WAAoB,OAAO,EAAO,IAAI,MAAM,cACzD,GAA4B,MAAxB,EAAS,WAAoB,OAAO,EAAO,IAAI,MAAM,0BACzD,GAA4B,MAAxB,EAAS,WAAoB,OAAO,EAAO,IAAI,MAAM,cAAgB,EAAS,WAAa,KAAO,EAAS,gBAE/G,IACI,OAAO,EAAQ,KAAK,MAAM,GAC9B,CACA,MAAO,GACH,OAAO,EAAO,IAAI,MAAM,oBAC5B,CACJ,GACJ,GACJ,CACJ,CAEA,SAAS,IAAI,EAAO,GAChB,KAAK,MAAQ,EACb,KAAK,UAAY,CACrB,CAOA,SAAS,iBAAiB,EAAO,GAC7B,OAAO,IAAI,IAAI,EAAO,EAC1B,CAGA,IAAI,UAAU,cAAgB,YAAY,iCAC1C,IAAI,UAAU,QAAU,YAAY,2BACpC,IAAI,UAAU,YAAc,YAAY,oCACxC,IAAI,UAAU,eAAiB,YAAY,uCAC3C,IAAI,UAAU,gBAAkB,YAAY,iCAC5C,IAAI,UAAU,cAAgB,YAAY,oCAC1C,IAAI,UAAU,cAAgB,YAAY,wCAC1C,IAAI,UAAU,YAAc,YAAY,6CACxC,IAAI,UAAU,iBAAmB,YAAY,kCAC7C,IAAI,UAAU,kBAAoB,YAAY,0CAG9C,IAAI,UAAU,mBAAqB,YAAY,+BAC/C,IAAI,UAAU,qBAAuB,YAAY,8BACjD,IAAI,UAAU,gBAAkB,YAAY,kCAC5C,IAAI,UAAU,eAAiB,YAAY,yCAC3C,IAAI,UAAU,cAAgB,YAAY,gDAC1C,IAAI,UAAU,iBAAmB,YAAY,uDAG7C,IAAI,UAAU,SAAW,YAAY,2BACrC,IAAI,UAAU,cAAgB,YAAY,0BAC1C,IAAI,UAAU,aAAe,YAAY,mCACzC,IAAI,UAAU,kBAAoB,YAAY,6BAC9C,IAAI,UAAU,sBAAwB,YAAY,wCAClD,IAAI,UAAU,YAAc,YAAY,yCACxC,IAAI,UAAU,SAAW,YAAY,sCACrC,IAAI,UAAU,gBAAkB,YAAY,4DAC5C,IAAI,UAAU,oBAAsB,YAAY,+BAChD,IAAI,UAAU,oBAAsB,YAAY,+BAChD,IAAI,UAAU,oBAAsB,YAAY,yCAEhD,OAAO,QAAU","file":"/npm/envato-api@1.0.2/main/api.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/envato-api@1.0.2/main/api.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var Promise = require('bluebird');\r\nvar Request = require('request');\r\nvar QueryString = require('querystring');\r\n\r\nfunction makeRequest(path) {\r\n    var method = (arguments.length > 1) ? arguments[1] : 'GET';\r\n\r\n    return function() {\r\n        var currentPath = path;\r\n        var args = (arguments.length > 0) ? ((typeof arguments[0] === 'object') ? arguments[0] : {}) : {};\r\n\r\n        for (var key in args) {\r\n            if (path.indexOf('%'+key) >= 0) {\r\n                currentPath = currentPath.split('%'+key).join(args[key]);\r\n                delete args[key];\r\n            }\r\n        }\r\n\r\n        var query = (arguments.length) ? '?' + QueryString.stringify(args) : '';\r\n        var uri = 'https://api.envato.com' + currentPath + ((query !== '?') ? query : '');\r\n        var token = this.token;\r\n        var userAgent = this.userAgent;\r\n\r\n        return new Promise(function(resolve, reject) {\r\n            Request({\r\n                uri: uri,\r\n                method: method,\r\n                headers: {\r\n                    'Authorization': 'Bearer ' + token,\r\n                    'User-Agent': userAgent\r\n                }\r\n            }, function (error, response, body) {\r\n                if (error) return reject(new Error('Request Error: ' + error.message));\r\n\r\n                if (response.statusCode === 400) return reject(new Error('Bad Request'));\r\n                if (response.statusCode === 401) return reject(new Error('Unauthorized'));\r\n                if (response.statusCode === 403) return reject(new Error('Access Denied'));\r\n                if (response.statusCode === 404) return reject(new Error('Not Found'));\r\n                if (response.statusCode === 500) return reject(new Error('Internal Server Error'));\r\n                if (response.statusCode !== 200) return reject(new Error('Error code ' + response.statusCode + ': ' + response.statusMessage ));\r\n\r\n                try {\r\n                    return resolve(JSON.parse(body));\r\n                }\r\n                catch (error) {\r\n                    return reject(new Error('Invalid response'));\r\n                }\r\n            });\r\n        });\r\n    };\r\n}\r\n\r\nfunction Api(token, userAgent) {\r\n    this.token = token;\r\n    this.userAgent = userAgent;\r\n}\r\n\r\n/**\r\n * @param token\r\n * @param userAgent\r\n * @returns {Api}\r\n */\r\nfunction usePersonalToken(token, userAgent) {\r\n    return new Api(token, userAgent);\r\n}\r\n\r\n// Catalog\r\nApi.prototype.getCollection = makeRequest('/v3/market/catalog/collection');\r\nApi.prototype.getItem = makeRequest('/v3/market/catalog/item');\r\nApi.prototype.searchItems = makeRequest('/v1/discovery/search/search/item');\r\nApi.prototype.searchComments = makeRequest('/v1/discovery/search/search/comment');\r\nApi.prototype.getPopularItems = makeRequest('/v1/market/popular:%site.json');\r\nApi.prototype.getCategories = makeRequest('/v1/market/categories:%site.json');\r\nApi.prototype.getItemPrices = makeRequest('/v1/market/item-prices:%item_id.json');\r\nApi.prototype.getNewItems = makeRequest('/v1/market/new-files:%site,%category.json');\r\nApi.prototype.getFeaturedItems = makeRequest('/v1/market/features:%site.json');\r\nApi.prototype.getRandomNewFiles = makeRequest('/v1/market/random-new-files:%site.json');\r\n\r\n// User details\r\nApi.prototype.getUserCollections = makeRequest('/v3/market/user/collections');\r\nApi.prototype.getPrivateCollection = makeRequest('/v3/market/user/collection');\r\nApi.prototype.getUsersDetails = makeRequest('/v1/market/user:%username.json');\r\nApi.prototype.getUsersBadges = makeRequest('/v1/market/user-badges:%username.json');\r\nApi.prototype.getUsersItems = makeRequest('/v1/market/user-items-by-site:%username.json');\r\nApi.prototype.getUsersNewItems = makeRequest('/v1/market/new-files-from-user:%username,%site.json');\r\n\r\n// Private user details\r\nApi.prototype.getSales = makeRequest('/v3/market/author/sales');\r\nApi.prototype.getSaleByCode = makeRequest('/v3/market/author/sale');\r\nApi.prototype.getPurchases = makeRequest('/v3/market/buyer/list-purchases');\r\nApi.prototype.getPurchaseByCode = makeRequest('/v3/market/buyer/purchase');\r\nApi.prototype.getPrivateUserDetails = makeRequest('/v1/market/private/user/account.json');\r\nApi.prototype.getUsername = makeRequest('/v1/market/private/user/username.json');\r\nApi.prototype.getEmail = makeRequest('/v1/market/private/user/email.json');\r\nApi.prototype.getSalesByMonth = makeRequest('/v1/market/private/user/earnings-and-sales-by-month.json');\r\nApi.prototype.getTotalMarketUsers = makeRequest('/v1/market/total-users.json');\r\nApi.prototype.getTotalMarketItems = makeRequest('/v1/market/total-items.json');\r\nApi.prototype.getTotalFilesBySite = makeRequest('/v1/market/number-of-files:%site.json');\r\n\r\nmodule.exports = usePersonalToken;"]}