{"version":3,"sources":["jsdelivr-header.js","/npm/amazon-url-builder@0.2.0/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,IAAM,QAAQ,OACd,UAAY,QAAQ,gBACpB,cAAE,eAAkB,QAAQ,WAElC,MAAM,iBAOJ,mCAAO,CAA8B,EAAM,EAAa,MACtD,MAAM,EAAM,cAAc,UAAU,KAAK,aAAc,CAAE,SACzD,OAAO,iBAAiB,kBAAkB,EAAK,EACjD,CAQA,uBAAO,CAAkB,EAAI,EAAa,MACxC,MAAM,EAAM,cAAc,UAAU,KAAK,KAAM,CAAE,OACjD,OAAO,iBAAiB,kBAAkB,EAAK,EACjD,CAQA,0BAAO,CAAqB,EAAI,EAAa,MAC3C,MAAM,EAAM,cAAc,UAAU,KAAK,QAAS,CAAE,OACpD,OAAO,iBAAiB,kBAAkB,EAAK,EACjD,CAOA,2BAAO,CAAsB,EAAY,EAAa,MACpD,MAAM,EAAM,cAAc,UAAU,KAAK,OAAQ,CAC/C,WAAY,UAAU,KAExB,OAAO,iBAAiB,kBAAkB,EAAK,EACjD,CASA,sCAAO,CAAiC,EAAY,EAAW,EAAa,MAC1E,MAAM,EAAM,cAAc,UAAU,KAAK,WAAY,CACnD,WAAY,UAAU,GACtB,EAAG,IAEL,OAAO,iBAAiB,kBAAkB,EAAK,EACjD,CASA,wBAAO,CAAmB,EAAM,EAAa,MAC3C,IAAK,IAAe,OAAO,KAAK,GAAY,OAC1C,OAAO,EAMT,MAAM,EAAgB,IAAI,IAAI,IAAI,GAC5B,EAAY,EAAc,aAKhC,OAFA,OAAO,KAAK,GAAY,SAAQ,GAAK,EAAU,IAAI,EAAG,EAAW,MAE1D,EAAc,UACvB,EAGF,OAAO,QAAU,CAAE,kCAAkB","file":"/npm/amazon-url-builder@0.2.0/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/amazon-url-builder@0.2.0/src/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 url = require('url')\nconst constants = require('./constants')\nconst { formatUnicorn } = require('./utils')\n\nclass AmazonUrlBuilder {\n  /**\n   *\n   * @param {string} slug - Node slug (ex: sporting-goods)\n   * @param {object} parameters - GET parameters\n   * @returns {string|*}\n   */\n  static buildUrlBestSellerByNodeSlug (slug, parameters = null) {\n    const url = formatUnicorn(constants.URLS.BEST_SELLERS, { slug })\n    return AmazonUrlBuilder._addUrlParameters(url, parameters)\n  }\n\n  /**\n   *\n   * @param {string} id - Node id (ex: 2811119011)\n   * @param {object} parameters - GET parameters\n   * @returns {string|*}\n   */\n  static buildUrlNodeById (id, parameters = null) {\n    const url = formatUnicorn(constants.URLS.NODE, { id })\n    return AmazonUrlBuilder._addUrlParameters(url, parameters)\n  }\n\n  /**\n   *\n   * @param {string} id - Product id (ex: B0756CYWWD)\n   * @param {object} parameters - GET parameters\n   * @returns {string|*}\n   */\n  static buildUrlProductById (id, parameters = null) {\n    const url = formatUnicorn(constants.URLS.PRODUCT, { id })\n    return AmazonUrlBuilder._addUrlParameters(url, parameters)\n  }\n\n  /**\n   * @param {string} searchTerm - Search term\n   * @param {object} parameters - GET parameters\n   * @return {string|*}\n   */\n  static buildUrlSearchByTerm (searchTerm, parameters = null) {\n    const url = formatUnicorn(constants.URLS.SEARCH, {\n      searchTerm: encodeURI(searchTerm)\n    })\n    return AmazonUrlBuilder._addUrlParameters(url, parameters)\n  }\n\n  /**\n   *\n   * @param {string} searchTerm - Search term\n   * @param {string} categoryI - Category 'i' identifier\n   * @param {object} parameters - GET parameters\n   * @return {string|*}\n   */\n  static buildUrlSearchByTermAndCategory (searchTerm, categoryI, parameters = null) {\n    const url = formatUnicorn(constants.URLS.SEARCH_CAT, {\n      searchTerm: encodeURI(searchTerm),\n      i: categoryI\n    })\n    return AmazonUrlBuilder._addUrlParameters(url, parameters)\n  }\n\n  /**\n   /**\n   * @param {string} _url - Unparametrized url\n   * @param {object} parameters - GET parameters\n   * @returns {string|*}\n   * @private\n   */\n  static _addUrlParameters (_url, parameters = null) {\n    if (!parameters || !Object.keys(parameters).length) {\n      return _url\n    }\n\n    // Test parameters validity ?\n\n    // create SearchUrlParams from supplied options\n    const objectizedUrl = new url.URL(_url)\n    const urlParams = objectizedUrl.searchParams\n\n    // Assign new params\n    Object.keys(parameters).forEach(k => urlParams.set(k, parameters[k]))\n\n    return objectizedUrl.toString()\n  }\n}\n\nmodule.exports = { AmazonUrlBuilder, constants }\n"]}