{"_id":"@afilimax/core","_rev":"10-db9090fc9f312ee3d3e05fba7f7927fd","name":"@afilimax/core","dist-tags":{"latest":"0.4.1"},"versions":{"0.1.1":{"name":"@afilimax/core","version":"0.1.1","keywords":["afilimax","brazilian marketplaces scraper","brazilian afiliate marketing"],"author":{"name":"Marcuth"},"license":"MIT","_id":"@afilimax/core@0.1.1","maintainers":[{"name":"marcuth","email":"marcuth2006@gmail.com"}],"dist":{"shasum":"86d6a9c8d9f1e38d72c750556ae56edc66b86d5c","tarball":"https://registry.npmjs.org/@afilimax/core/-/core-0.1.1.tgz","fileCount":17,"integrity":"sha512-TTxSfenXs87GAFV2iFx23Sp3DW5WGqreHHFV3315O02gPnXFSZ50/kSiUHFTyy/jEUHmt+Rubwc9U1+YKgyAew==","signatures":[{"sig":"MEQCIEbQ6XfvYtwWaPNEPf5vQ3xapUzWjyZWbjwE2oLDHRDgAiBwpT2t65JwXedlp+055/OeSkHHjhFcQorNbhMLwv+Erg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8062},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.js","gitHead":"723e1bf3a1b50ed09b7724149a0d0cedb6f773b2","scripts":{"dev":"ts-node ./src/index.ts","build":"tsc","format":"prettier --write \"src/**/*.ts\""},"_npmUser":{"name":"marcuth","email":"marcuth2006@gmail.com"},"_npmVersion":"11.8.0","description":"Este é o pacote core da Afilimax, ele é responsável por carregar nossas tipagens e enums que são compartilhados por outros pacotes do nosso ecossistema. Somos focados apenas no mercado brasileiro, então, este README é escrito em português.","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","typescript":"^5.9.3","@types/node":"^25.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","prettier-plugin-sort-imports":"^1.8.10"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.1_1770960100445_0.635936454657257","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@afilimax/core","version":"0.1.2","keywords":["afilimax","brazilian marketplaces scraper","brazilian afiliate marketing"],"author":{"name":"Marcuth"},"license":"MIT","_id":"@afilimax/core@0.1.2","maintainers":[{"name":"marcuth","email":"marcuth2006@gmail.com"}],"dist":{"shasum":"d5a31c4820e5a4353a0b65f0dea24aa538a94894","tarball":"https://registry.npmjs.org/@afilimax/core/-/core-0.1.2.tgz","fileCount":19,"integrity":"sha512-pXAhgJhG+8Fi/j3X33cr7MaK2OmK+J9zlrV7AXrA6udD63Fu15C7qTFQWb7QfRCTpt4TfQLMd22OmKKTZe2utw==","signatures":[{"sig":"MEUCIQDIvtx7umNuM2rTaT3jjV7Q4BKM/unFxx5wQ8XDPd7+4gIgHJJj+L61KBfPHBXFDMuW49ufCPVYrSFkoFfUDnwKXpI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8476},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.js","gitHead":"8e2f210a2a3d4d30f625752b0541dfff52961ecf","scripts":{"dev":"ts-node ./src/index.ts","build":"tsc","format":"prettier --write \"src/**/*.ts\""},"_npmUser":{"name":"marcuth","email":"marcuth2006@gmail.com"},"_npmVersion":"11.8.0","description":"Este é o pacote core da Afilimax, ele é responsável por carregar nossas tipagens e enums que são compartilhados por outros pacotes do nosso ecossistema. Somos focados apenas no mercado brasileiro, então, este README é escrito em português.","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","typescript":"^5.9.3","@types/node":"^25.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","prettier-plugin-sort-imports":"^1.8.10"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.2_1771001921416_0.6413923807966759","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@afilimax/core","version":"0.2.0","keywords":["afilimax","brazilian marketplaces scraper","brazilian afiliate marketing"],"author":{"name":"Marcuth"},"license":"MIT","_id":"@afilimax/core@0.2.0","maintainers":[{"name":"marcuth","email":"marcuth2006@gmail.com"}],"dist":{"shasum":"63ecd4c9ee95580f588e722d4bf7ee583b62b597","tarball":"https://registry.npmjs.org/@afilimax/core/-/core-0.2.0.tgz","fileCount":29,"integrity":"sha512-Su/xDsBGcSVS0tt96AtDiQbNQkCAEjeOL7Gwi8E5t0yb1XZO1nWBjHWLFd4VNgSWBU8xWDNnnkpRV1UT00sTDg==","signatures":[{"sig":"MEYCIQCvQX283Pk4Fca5iFQ/EIgqHehw02C8sNHuVGoLm/L/ogIhAP01C83ZSZ8nTMy+MV/yEwaHLbxOG7tiuE5ozsIBuV5w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15706},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.js","gitHead":"3733814cf8fcb637dbede073409c6d2581453c4f","scripts":{"dev":"ts-node ./src/index.ts","build":"tsc","format":"prettier --write \"src/**/*.ts\""},"_npmUser":{"name":"marcuth","email":"marcuth2006@gmail.com"},"_npmVersion":"11.8.0","description":"Este é o pacote core da Afilimax, ele é responsável por carregar nossas tipagens e enums que são compartilhados por outros pacotes do nosso ecossistema. Somos focados apenas no mercado brasileiro, então, este README é escrito em português.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","typescript":"^5.9.3","@types/node":"^25.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","prettier-plugin-sort-imports":"^1.8.10"},"_npmOperationalInternal":{"tmp":"tmp/core_0.2.0_1771002893537_0.9108840577224737","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@afilimax/core","version":"0.2.1","keywords":["afilimax","brazilian marketplaces scraper","brazilian afiliate marketing"],"author":{"name":"Marcuth"},"license":"MIT","_id":"@afilimax/core@0.2.1","maintainers":[{"name":"marcuth","email":"marcuth2006@gmail.com"}],"dist":{"shasum":"bc0a774c57e7e598e0263e5e97ab96e042195165","tarball":"https://registry.npmjs.org/@afilimax/core/-/core-0.2.1.tgz","fileCount":29,"integrity":"sha512-z1GBAG3I3jEAzihSe+UUs+XDuZeol1IQ+7b+jZpdqy4cAM9pBJXm/4A6Pu7Cd+AUW2Xt/5QowK1QKPSk6RgvQA==","signatures":[{"sig":"MEQCIDxw3NJsnPJn1jaKP0azN8j3m9ItglkYNUE/tK/piSriAiByfOw2URDJ9LkO7ZqqN+TsrXnPq0c+QozzfgkezEDvgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15706},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.js","gitHead":"ad5397a0e7dfad44213e9d2eee4a2f77ef29bca9","scripts":{"dev":"ts-node ./src/index.ts","build":"tsc","format":"prettier --write \"src/**/*.ts\""},"_npmUser":{"name":"marcuth","email":"marcuth2006@gmail.com"},"_npmVersion":"11.8.0","description":"Este é o pacote core da Afilimax, ele é responsável por carregar nossas tipagens e enums que são compartilhados por outros pacotes do nosso ecossistema. Somos focados apenas no mercado brasileiro, então, este README é escrito em português.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","typescript":"^5.9.3","@types/node":"^25.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","prettier-plugin-sort-imports":"^1.8.10"},"_npmOperationalInternal":{"tmp":"tmp/core_0.2.1_1771003059610_0.34513592473989085","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@afilimax/core","version":"0.2.2","keywords":["afilimax","brazilian marketplaces scraper","brazilian afiliate marketing"],"author":{"name":"Marcuth"},"license":"MIT","_id":"@afilimax/core@0.2.2","maintainers":[{"name":"marcuth","email":"marcuth2006@gmail.com"}],"dist":{"shasum":"91d122b47c80f9985d5a6a8316890e1b2c3a1960","tarball":"https://registry.npmjs.org/@afilimax/core/-/core-0.2.2.tgz","fileCount":29,"integrity":"sha512-nJM63KYKG8v8n/IIu9pmAhUhQMFpFuK+qeYHr3ufRuWNxPB6HL5eq+R6lO5BkyVG3vyCF+w3zXjX5HAlec6k0A==","signatures":[{"sig":"MEUCIAyVmK6/BSYvK67K1IANyq+XW3AZKSMCb8wORWU7qZeQAiEAy+KlVAV4WezoWsDvmvEZ4daPnScz1/x4IcTg9RUn6o0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15739},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.js","gitHead":"750000539adad46733a23be1ec3e6a35a5f7e28a","scripts":{"dev":"ts-node ./src/index.ts","build":"tsc","format":"prettier --write \"src/**/*.ts\""},"_npmUser":{"name":"marcuth","email":"marcuth2006@gmail.com"},"_npmVersion":"11.8.0","description":"Este é o pacote core da Afilimax, ele é responsável por carregar nossas tipagens e enums que são compartilhados por outros pacotes do nosso ecossistema. Somos focados apenas no mercado brasileiro, então, este README é escrito em português.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","typescript":"^5.9.3","@types/node":"^25.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","prettier-plugin-sort-imports":"^1.8.10"},"_npmOperationalInternal":{"tmp":"tmp/core_0.2.2_1771003583695_0.9437262183545592","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@afilimax/core","version":"0.3.0","keywords":["afilimax","brazilian marketplaces scraper","brazilian afiliate marketing"],"author":{"name":"Marcuth"},"license":"MIT","_id":"@afilimax/core@0.3.0","maintainers":[{"name":"marcuth","email":"marcuth2006@gmail.com"}],"dist":{"shasum":"539f27583d4c929d1d2fb83cad352fd7694d051b","tarball":"https://registry.npmjs.org/@afilimax/core/-/core-0.3.0.tgz","fileCount":55,"integrity":"sha512-g14Sw1wYMEnsfTreOrpCmu9wDz4a6RKGzZVkKX3Bpm9/qOjl5XuB5J+oAWOCifdl5Ts0NJ2vBvb6OeO+E1K4PQ==","signatures":[{"sig":"MEUCIAUoJD8rcveiAHui841nLfnwbs1+t670bHehuO5u1+gBAiEAxDjy8zIo4IfJJ9l0lcWYDMKwPty9MKYxFd3VIo2aNdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26087},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.js","gitHead":"04be2953d8ccddd0197fa9bbdcba97bd61f63224","scripts":{"dev":"ts-node ./src/index.ts","build":"tsc","format":"prettier --write \"src/**/*.ts\""},"_npmUser":{"name":"marcuth","email":"marcuth2006@gmail.com"},"_npmVersion":"11.8.0","description":"Este é o pacote core da Afilimax, ele é responsável por carregar nossas tipagens e enums que são compartilhados por outros pacotes do nosso ecossistema. Somos focados apenas no mercado brasileiro, então, este README é escrito em português.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","ts-node":"^10.9.2","prettier":"^3.8.1","typescript":"^5.9.3","@types/node":"^25.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","prettier-plugin-sort-imports":"^1.8.10"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.0_1771118055724_0.021636082191353934","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@afilimax/core","version":"0.4.0","keywords":["afilimax","brazilian marketplaces scraper","brazilian afiliate marketing"],"author":{"name":"Marcuth"},"license":"MIT","_id":"@afilimax/core@0.4.0","maintainers":[{"name":"marcuth","email":"marcuth2006@gmail.com"}],"dist":{"shasum":"b1741b828db56b75d46b111a0599d621582dca9d","tarball":"https://registry.npmjs.org/@afilimax/core/-/core-0.4.0.tgz","fileCount":59,"integrity":"sha512-HhjmPoYGnqn5rjogktON0recwhCLtq++rfaqSUvVqu7Qj7e1RESSdAk8iSGFMm+KEb9G3ymv2U7yjXRWB6eImw==","signatures":[{"sig":"MEYCIQDsIp1wqh6ctm2vsqf51td8tLdB87rGIdt1QZfhXNMCVQIhAKZozzgqXSZwj7VAPN4xzVhv8f+gmDfVyqJxyavq6Hgo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30465},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.js","gitHead":"ddfe471fa0663fe53b77aba87d6e6be006d204e5","scripts":{"dev":"ts-node ./src/index.ts","build":"tsc","format":"prettier --write \"src/**/*.ts\""},"_npmUser":{"name":"marcuth","email":"marcuth2006@gmail.com"},"_npmVersion":"11.8.0","description":"Este é o pacote core da Afilimax, ele é responsável por carregar nossas tipagens e enums que são compartilhados por outros pacotes do nosso ecossistema. Somos focados apenas no mercado brasileiro, então, este README é escrito em português.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.2","ts-node":"^10.9.2","prettier":"^3.8.1","typescript":"^5.9.3","@types/node":"^25.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","prettier-plugin-sort-imports":"^1.8.11"},"_npmOperationalInternal":{"tmp":"tmp/core_0.4.0_1773510648878_0.9827560810493243","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@afilimax/core","version":"0.4.1","type":"commonjs","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc","dev":"ts-node ./src/index.ts","format":"prettier --write \"src/**/*.ts\""},"publishConfig":{"access":"public"},"keywords":["afilimax","brazilian marketplaces scraper","brazilian afiliate marketing"],"author":{"name":"Marcuth"},"license":"MIT","devDependencies":{"@types/node":"^25.3.2","eslint":"^10.0.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","prettier":"^3.8.1","prettier-plugin-sort-imports":"^1.8.11","ts-node":"^10.9.2","typescript":"^5.9.3"},"dependencies":{"zod":"^4.3.6"},"gitHead":"bb06ed4069b589043119e7797c7719ec52c24e06","_id":"@afilimax/core@0.4.1","description":"Este é o pacote core da Afilimax, ele é responsável por carregar nossas tipagens e enums que são compartilhados por outros pacotes do nosso ecossistema. Somos focados apenas no mercado brasileiro, então, este README é escrito em português.","_nodeVersion":"24.13.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-vwKlPKb+ivg53Pee/VKg/+jVbj9QbinTUteVFBjggLlpd78nInIIB/CcUtl7Y3kJHOeXqLYicJb2VO8ajtBy5Q==","shasum":"79f8c3a874d1812519586a58da3d13c56c1a85a2","tarball":"https://registry.npmjs.org/@afilimax/core/-/core-0.4.1.tgz","fileCount":59,"unpackedSize":30455,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDKhz1uyXDkBVzHtxHJWYSMP+xGqiQvc9kF/R79/+tJ8gIgMgZRtvWduJbXxUiNR9u/qfn/zpPkhmdpBluNpkvwjTQ="}]},"_npmUser":{"name":"marcuth","email":"marcuth2006@gmail.com"},"directories":{},"maintainers":[{"name":"marcuth","email":"marcuth2006@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_0.4.1_1773511691382_0.9076713143682682"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-13T05:20:17.056Z","modified":"2026-03-14T18:08:11.644Z","0.1.0":"2026-02-13T05:20:17.299Z","0.1.1":"2026-02-13T05:21:40.597Z","0.1.2":"2026-02-13T16:58:41.560Z","0.2.0":"2026-02-13T17:14:53.681Z","0.2.1":"2026-02-13T17:17:39.767Z","0.2.2":"2026-02-13T17:26:23.823Z","0.3.0":"2026-02-15T01:14:15.875Z","0.4.0":"2026-03-14T17:50:49.021Z","0.4.1":"2026-03-14T18:08:11.530Z"},"author":{"name":"Marcuth"},"license":"MIT","keywords":["afilimax","brazilian marketplaces scraper","brazilian afiliate marketing"],"description":"Este é o pacote core da Afilimax, ele é responsável por carregar nossas tipagens e enums que são compartilhados por outros pacotes do nosso ecossistema. Somos focados apenas no mercado brasileiro, então, este README é escrito em português.","maintainers":[{"name":"marcuth","email":"marcuth2006@gmail.com"}],"readme":"# @afilimax/core\r\n\r\nEste é o pacote core da Afilimax, ele é responsável por carregar nossas tipagens e enums que são compartilhados por outros pacotes do nosso ecossistema. Somos focados apenas no mercado brasileiro, então, este README é escrito em português.\r\n\r\n## Instalação\r\n\r\n```bash\r\nnpm install @afilimax/core\r\n```\r\n\r\n## Uso\r\n\r\n```typescript\r\nimport { Marketplace, Price, Shipping, ScrapedProduct } from \"@afilimax/core\"\r\n\r\nconsole.log(Marketplace.Amazon)\r\n\r\nconst product: ScrapedProduct = {\r\n    marketplace: Marketplace.Amazon,\r\n    title: \"Produto\",\r\n    price: {\r\n        value: 10,\r\n        currency: \"BRL\"\r\n    },\r\n    shipping: {\r\n        price: 2,\r\n        currency: \"BRL\",\r\n        freeShipping: true\r\n    },\r\n    rating: {\r\n        average: 4,\r\n        totalReviews: 10\r\n    },\r\n    availability: {\r\n        inStock: true,\r\n        quantity: 10\r\n    },\r\n    images: [\"https://example.com/image.jpg\"],\r\n    thumbnails: [\"https://example.com/thumbnail.jpg\"],\r\n    categories: [\"Categoria\"],\r\n    features: {\r\n        \"Característica\": \"Valor\"\r\n    },\r\n    specifications: {\r\n        \"Especificação\": \"Valor\"\r\n    },\r\n    scrapedAt: new Date().toISOString()\r\n}\r\n```\r\n\r\n### Validação de dados\r\n\r\n```typescript\r\nimport { scrapedProductSchema, couponSchema, priceSchema, shippingSchema } from \"@afilimax/core\"\r\n\r\nconst product = scrapedProductSchema.parse({\r\n    marketplace: \"Amazon\",\r\n    title: \"Produto\",\r\n    price: {\r\n        value: 10,\r\n        currency: \"BRL\"\r\n    },\r\n    shipping: {\r\n        price: 2,\r\n        currency: \"BRL\",\r\n        freeShipping: true\r\n    },\r\n    rating: {\r\n        average: 4,\r\n        totalReviews: 10\r\n    },\r\n    availability: {\r\n        inStock: true,\r\n        quantity: 10\r\n    },\r\n    images: [\"https://example.com/image.jpg\"],\r\n    thumbnails: [\"https://example.com/thumbnail.jpg\"],\r\n    categories: [\"Categoria\"],\r\n    features: {\r\n        \"Característica\": \"Valor\"\r\n    },\r\n    specifications: {\r\n        \"Especificação\": \"Valor\"\r\n    },\r\n    scrapedAt: new Date().toISOString()\r\n})\r\n```\r\n\r\n### Provedores de Afiliados\r\n\r\nO `AffiliateProvider` é uma classe abstrata fundamental para estender as capacidades de afiliação do ecossistema Afilimax.\r\n\r\n```typescript\r\nimport { AffiliateProvider } from \"@afilimax/core\"\r\n\r\ninterface CustomOptions {\r\n    trackingId: string\r\n}\r\n\r\nclass MyProvider extends AffiliateProvider<CustomOptions> {\r\n    name = \"Meu Provedor\"\r\n    domains = [\"loja-exemplo.com.br\"]\r\n\r\n    // Implementação obrigatória para gerar o link\r\n    async createAffiliateUrl(url: string) {\r\n        return `https://link-afiliado.com?id=${this.options.trackingId}&url=${url}`\r\n    }\r\n}\r\n\r\nconst provider = new MyProvider({ trackingId: \"user-123\" })\r\n\r\n// Verifica se uma URL pertence ao provedor\r\nif (provider.supportsUrl(\"https://loja-exemplo.com.br/item\")) {\r\n    const affiliateUrl = await provider.createAffiliateUrl(\"https://loja-exemplo.com.br/item\")\r\n    console.log(affiliateUrl)\r\n}\r\n```\r\n\r\n### Gerenciamento de Provedores (Encadeamento)\r\n\r\nO `AffiliateManager` permite agrupar múltiplos provedores e encontrar automaticamente o correto para uma determinada URL.\r\n\r\n```typescript\r\nimport { AffiliateManager } from \"@afilimax/core\"\r\n\r\nconst manager = new AffiliateManager([\r\n    new AmazonProvider(options),\r\n    new ShopeeProvider(options),\r\n    new MagaluProvider(options)\r\n])\r\n\r\n// O manager encontrará o provedor correto baseado nos domínios suportados.\r\n// Caso nenhum provedor suporte a URL, retornará null.\r\nconst url = \"https://www.amazon.com.br/dp/B088GHHR6K\"\r\nconst affiliateUrl = await manager.createAffiliateUrl(url)\r\n\r\nif (affiliateUrl) {\r\n    console.log(\"URL de afiliado:\", affiliateUrl)\r\n}\r\n\r\n// Você também pode adicionar novos provedores dinamicamente\r\nmanager.use(new CustomProvider())\r\n```\r\n\r\n## Licença\r\n\r\nEste projeto está sob a licença MIT.\r\n","readmeFilename":"README.md"}