{"_id":"@homer0/api-utils","_rev":"44-ac0ae40d893533d2550f5bad0dc1398f","name":"@homer0/api-utils","dist-tags":{"latest":"6.0.7"},"versions":{"1.0.1":{"name":"@homer0/api-utils","version":"1.0.1","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@1.0.1","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"20cd6133a07d85db90c77bd10666e39ee59e81bc","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-1.0.1.tgz","fileCount":8,"integrity":"sha512-QKrvAdY5YARTF2HQwt3gDtmycgRg0aSaS60xRIMLnFv3BnB8yVZaYP+rPn9/MWrRZxps/o+2B6HDfxIToGe2ng==","signatures":[{"sig":"MEUCIHzmwO593PYaXClwmQAuyfeRJTxdUOpHWnRNV7CROV6vAiEAvsCMTiEaUkrIFIk0Jw44jO//B6YCJbiI/VbYAXnTb/4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":647798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizUwgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmotzg//bcrAew7V+gnPgkqvPHS52HglwH8fokfakVL5HRhGcE6xXmQR\r\nmFCgqAMli0yGIQkYAUitqFu3XQP4YERDFXjeX/AEgMx/j76hpRiNseEjQAaA\r\ndL0Aya/Z+Tdw6Yi8ieklNOBEfu6SRlOecYwwVwnkiYVqX17F5D4zAjjyg4pv\r\nhakh/viQ7Pjn/jeb2i4EI33Ki55ZfN96DHO+XRifA74lN2WXn557EF81psAZ\r\ndb2XXGfyIf8dR/andlXsOwqpV+oeOVfhsLaILv/DgreonISe5HryC4VICPoZ\r\n1q0JgIUZo707IS9yKF5h5Dut+99eMWYAdmQXE/VM6akhQVHPsyKD8UWj3W1+\r\nu287OYporjoJZWrimAOai3zmVQKNdohjNM/Lz6HnUrwHKSLZP6Z+nWDd1kuO\r\nyK+29xK7rqyP9i2RrTxzqAEn4hzSNNnl9FZQZVukbK7LxC8HBTAZbHz3vgPC\r\nbLXaFxhQWh58zXgmVafH3nn6xxyr36LxcbwijU8Zz6TOeSUTEFM3Wjq9KSIv\r\nBtESByqpm/lVsb3VY+/HBvhCMb+Ue8wJSyJoFnRJgHa/apDpgPfLhvWJ0O6U\r\nRQcrkD2pu5k7lztb+c+q6GDJpIGleBjV965OVSZkMQ9qIRfYvADy81XSNNW0\r\nPylerY/3spqajBPtV+NoLcGehClJLfDXpvU=\r\n=0yJu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=14"},"gitHead":"835d84ced485240f90c9c9173b5fcb53346bf264","scripts":{"test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/5.1.8/node@v14.20.0+x64 (linux)","description":"A few utilities to work with APIs","directories":{},"_nodeVersion":"14.20.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","tsup":"^6.1.3","urijs":"^1.19.11","ts-jest":"^28.0.5","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/object-utils":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_1.0.1_1657621536161_0.6577388086438245","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@homer0/api-utils","version":"1.0.2","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@1.0.2","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"bf9a7a856e2e7b49769434eb94740ef341ff0962","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-1.0.2.tgz","fileCount":8,"integrity":"sha512-YCvE4VmzoBkuHU0l+npWH57JM9wZdU5kEzMGma0uuD3dhIJHdy6qyqMQcBH+1iN7do6oDLiw4DlUl/6YwoQBVA==","signatures":[{"sig":"MEQCIFPV+DNXkl9/3PZ4WFI5HahPQvC4cjkMTvyqJ1+qx7TnAiB5WeNRtv8AxuQusGqSaeoBkyUTeBIQ0KrCumtxHUrGCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":647768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0PudACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7+Q/8C/fROJRy3bnkC9DRrKBBQaGndQ14sxv12xtMbuhbDB1y9QNn\r\n7rMus+1luIyIcek6GZJP0fKLa6HstmVfsXVeZvQkyV9YLroUJQIvq14b5+K+\r\nVP8KhTh/fejsXv1TucyaGsNR/6iaB7pDk5xUVSMImsBhFK5QBE9jJ/kwasyg\r\nkNhb7hI+OxIs3A3XaUs19G9JyWtXmJtNo46jVzYEaldkBHtlsjDHgZDnlRqv\r\notwKmCIjtK02UixMUpZ+Sy/GQAO3qv/cckgxPxsKy3nxsnj9SgP2REyrd100\r\nubf/cA/bn57hOmCIjKAJBNI+Em3TJn9pO3FL8bFwRgyRcUMF6denYXUPeJqn\r\ndPwPoY7chBEqkEsEOuwgL1uqMV9mR1QBJibRso1Vme6PCjbt1SFpqEn7FWSX\r\nnrmWqw3A+OgVuPTNdotePdLeA07U1qaXLn89QR64HxL2alC3AQ+Ph8jqpyea\r\nr71MdSNmthMiwQZq0/JTqMGWXtCnuoisLjTdvpFA/C4fkNdLObejTkdZDdIt\r\ns83xMt9BSULStGWJYe/JOJ7zEUZcakzRp39eqRzKhQtzn5+N1FxRu7/k7ydj\r\nFlx2bFP+CbbCS1EpITnQ0LJGRgaGeSP9hcD2XXK1DT8gy44MOD7wPKm/ZUQO\r\nytEiIv2CThEmpN/kdXfTAKhn9MCEY+sQjU4=\r\n=snV3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=14"},"gitHead":"7c44773961f29d11890564831e84cf4da9ba0f57","scripts":{"test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/5.1.8/node@v14.20.0+x64 (linux)","description":"A few utilities to work with APIs","directories":{},"_nodeVersion":"14.20.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","tsup":"^6.1.3","urijs":"^1.19.11","ts-jest":"^28.0.5","typescript":"^4.7.4","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/object-utils":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_1.0.2_1657863069413_0.31439683905182036","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@homer0/api-utils","version":"1.0.4","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@1.0.4","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"e1218d6c3d0e718be0786a87fec85ac6ec5719f4","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-1.0.4.tgz","fileCount":8,"integrity":"sha512-0FpUr04ikiXNDj6AS1bwGYK8wREi1tQwpi/8sIYbVgHBCxdiNjQ24MBkwW0QdLJKUYE0dpnXWJfbvNgR+qWG0Q==","signatures":[{"sig":"MEQCID7aTqu+3JKu3TZE5RQGnkwHEyd/MCoSX28QaMYH2GnFAiA4NBP5+/SwVhFrDyAs1G+YjIzF4oGCVx6UhMU5v3wX7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":650445,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0XdMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8qA//RLcY/25de6qcfDXhQGGavP8sormLXwFy2Acaj9XuF47nywIc\r\n2HBAEe2Y56/RY8LZ5p3Idxmwtxlvc9qDqN5TmqJPX5NQILL8zIx/IsSQMofy\r\nKL9xkBl8MaMckFb6n70fXh4V3LE1MVszAi6W/qJsWLhjUqZ+tn20eZz8iN17\r\nWdxTZcYIDyRfrjoc+zKLhNxiSoLuRLjTKDaf0vSQAIZbtmcdyAgMmCWCI6xf\r\n1d07QqS52gdjC9GTclRrNYgHEbQ88amJo71kpOExOxtOjS3UO1Z+OtehsjOR\r\n+QOx1w0q+isYXDfZa7gcxVTrI7JO6RfcZTYCxf8Ue2cxh6NLXL0xrIuTkTec\r\nVM3bKmgMYhQPch0xqJKWjCXqbBTYzLmEvT8x3uiAc6C5DbMNgB4AsncvuOx9\r\nnz6CwvJuLHL2iSB8AMAbsEE9LYKWRNNOO5s+aI4vL3m/nAwiezJ9kXqNHGip\r\njW0msLEYdiA5Ae14iqaMtIu60JPp1o/6Uk4QkTf39UaNxbX5dhZb6tJdaTn8\r\nkUBSwsvY2KRETC8CYa1Sg5QOYsKwApvWCE5VvgN0BzQuGS5F3GOfWyx9/jBM\r\n5GPrm8U1TJotsg69mToQJSwB1bUyvssC0S2WK7FX++5onaUGc4zRcMzQWhVL\r\n3PPtbDaPLzh27OzQoETdkm4ITdwmy5kGXec=\r\n=HkJH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=14"},"gitHead":"17340b496b409a5bbcea727b7bc7a95bb7eb93a8","scripts":{"test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/5.1.8/node@v14.20.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"14.20.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","tsup":"^6.1.3","urijs":"^1.19.11","ts-jest":"^28.0.5","typescript":"^4.7.4","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/object-utils":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_1.0.4_1657894731858_0.7534768931519971","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@homer0/api-utils","version":"1.0.5","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@1.0.5","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"d92f6a24db9d873e76c8056c7ebece3b548137d4","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-1.0.5.tgz","fileCount":8,"integrity":"sha512-VBXucpDg6MNh1vVGAOAaeNWsL42Gfp2U+H6AY59QmPcPFz8922Yg+sfBH39atx/zazoT9U9CqTiRnuZ14qJwKQ==","signatures":[{"sig":"MEYCIQDahxJR7cPbVsdM7cXEhmdJDrnYClAe1sFc1/2b1h/gqQIhAL++0jL/h4QDVFzbk93Es7N1pzBOcoK18PxiNI3c53Ey","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":651926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjU636ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9/A//cIbs0ivEgynNeGoV1V/ZFBVrfcJ4wBPI475Ai0cYLRa/2MMU\r\nOJxThVauJxT/NaLDJ+VueBfjpiyk/fEIj4PGrZl8mF6/2M9yRS30GbdDiXfE\r\n6RMMbdrRPFsxwWEwMKSu01ocAk9DAQEFH2A8j+oHEKSZ+dTwPKWAmTg4a5dU\r\nto/L22/T98uUR6FZNQFdC4mr+naqj+hoHnblb8HOLb0X+sMemaWktZ52/8S9\r\nTjnoxAJuHHghpgB3Vj6WaehSKbnPkz6v6DPZ2oiDRGw5dej0dtL3Klvoga39\r\noOcjvqgGtUCguUT2zy9/ICw33uv3MSchbhi2Ro951IfnsIy/11wcdtzutVup\r\nYf7WoHAWA4ik4zCFx4zsD1qqNm3RqoaS/0H7LZAXrCH7ArydQ52JmKC2H8Zu\r\nejj0KX4mOl5s2XMxiwRjL/5hNhqnQV8dZjV5qdSRkXNR1Wa+Jqb16iiT5EL9\r\nLmaQGRHQsxSOZDmasDhKnuvSG+Zmg+d7xyn7G6vzg8VO+P/xZzZG7k1YCKTv\r\n9bJvf7aAYW1EeIeOSXPUwbj4DB35XqnmNZHFPl9D+nh/fV25axcf0Fg9Yot6\r\n06y0pG7dW0SW7NyIJbw0SJbSmDsOctWwWifIdf7b4ywjAi6KkWmZJd0fxM94\r\n7ISY4AlLZA6tED+jdSlYgnxtsDqr8eO+aOw=\r\n=INdN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=14"},"gitHead":"e584e4ef93ede1065a91a1d3e88e070662acb66e","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/6.0.1/node@v14.20.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"14.20.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.2.1","tsup":"^6.3.0","urijs":"^1.19.11","ts-jest":"^29.0.3","typescript":"^4.8.4","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/object-utils":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_1.0.5_1666428410431_0.7884749343558215","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@homer0/api-utils","version":"2.0.0","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@2.0.0","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"87e5adc2cbefe612927f77571f627ba82aa2f190","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-2.0.0.tgz","fileCount":8,"integrity":"sha512-JbsitSmyx7GQP3xp3LOQXSI8m8AOIEH2yFyJtA8XsQUQu8VYoaEOjZQEXJhOv3fcSFJ2ST81YpMy+cuswL/laA==","signatures":[{"sig":"MEUCID0ucNlB+u5JjCXk/gB1LZHx/gHdO9/Q/3blAQxIJHhVAiEA0aMtcOAkc4mM12EZFdkuR1ZdnRfZMZ+KDMGLghLbQMA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":652793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjqqO7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqLGw/+PENacx08yr/UHy4GFoobQwSGUruUF2ptVv906Rr4DgSy7gN+\r\nYM7gIrFrvFbn03uxSPF4ZvRONrPiCrZrcqorrWPaWw/8HKYjzMmO5+eJiJ7U\r\nBvPC6g1im4t4GZSdXioqQBeVkaI5ncPc9fv4E5vvqxvHlikvC9SKYaasXAV9\r\n0mMDOcA6pkJTPe9CqvqRxjATJfRF4gbBhkzwH4SU/ERxEwDajeIH+XPOf5DI\r\n36TIWrmPcdAN3UQhp1kymXDLP2MklvQRUMUhMdTRrBof5AQMp0qcMxtYS/wT\r\nvGmNY5UoNcc1WuuDDD6DRNiZw5wAtpgSvQiBf1RI4K1wKv3t+5y5JCF7yi3+\r\n+KPhcUJxlaXB1qN6rVmqyRYpN0Q5W9fgtyqqS9h4jaGLXef0IqOqSlAaW6vv\r\nZSphaLc8abLlvYoQ0BguXwaMBGfk/O1+HZdaCOz3HW4m4HPg50vxeofr/Agk\r\nq+O5FhIRku8FrfWMH1oUO9DTzK4dAOdh2VNnbuW90KTv4ZPMPTBf86haqKG3\r\nt3j1Lno5ajpksEisLzyZOoZWXCSSMmzev6kuwE7dX6RK5DHgu6A6gAef4dY1\r\n84bY/VDVcYqB77rlaoRuZwr59Y2lsr6fl3z1dSoB2H55xWngY6hiLX8VVJZS\r\n9ItBI9SP+3Argvau4Hr1LIkNFvAzYeswwF8=\r\n=zqsO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=16"},"gitHead":"86d8723fd11c969e334d58c4e6bc4d290311fe26","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/6.3.0/node@v16.18.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"16.18.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","tsup":"^6.5.0","urijs":"^1.19.11","ts-jest":"^29.0.3","typescript":"^4.9.4","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/object-utils":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_2.0.0_1672127418890_0.7724976701002797","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@homer0/api-utils","version":"2.0.1","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@2.0.1","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"f46fa6d31bd9702b75dc7fca20cb2bd554c5bfe8","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-2.0.1.tgz","fileCount":9,"integrity":"sha512-xGS3XlFvlRTFN3mZQTihgWn0N4hPKF5TV9PvPEAHUHUxuiDkpJGzQiElrDxW9Als5mrg5Xvr5QuiTwtvUPKZ+w==","signatures":[{"sig":"MEQCIHqXdbE1fq4iBncDWMCDpcj+1AwtEQcbkCDqBXmj7HCmAiB6e9Bf0P3GjhBe5GapiXPOqgZ6zgiGxkhamoNb8Fjbhg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":752669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj1LO+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp29hAAlst2+hf6j+5Ekx2yfqxmHwxfX6f2dK+34Do28grTcMM8Rk3x\r\nUyi1GNBTaYvb2L7Yvcb/aPLQR/kaj/K3+EShfrp+rwcfz2WOyO1jxMQlj8uv\r\nZu77STZutPqm7A1jwFy7hWuCzAJ/ZGBziSVCumnHt0f/A8x1yN0Z9ttVcm9s\r\nqCMhZqWHHqvl5O/xBIFcHshxDpLRAry73Abw/eXZBVMXS8hs/fpO5M4mzHl+\r\nK0o1E/Va6ZGTuEkXtV3lQYRTPrR0HUDy4mHjxRgkcvuX7F8i5BHKCZIFfXwI\r\n1C2eAQTL0wbnonwdf93JpURYzDwAKO5b/3PlH4g6wRAut0a+k+bTNnxJL3pY\r\nsKTwqtDjLXkrp4VbKnpRuRkEqJL9X+sgggoO5EeaOugsAL57HJbhLZYxJ7He\r\n/NRGFhGUbrXNGPPj8dOlsSx8Z95Jdx0Xmjoemo35TTBXvBuIPNtKSG38n9JS\r\nCsO6p+LK/49OqkLe0SuwVTCEQOM4Evd+/Pb+a8CioIs7VlA5w5PaiIy4hUbZ\r\nNZPsBSYFAw7g1LmjolVBrREMwOZ0ST9Xv7mxd9qrSkVI7aSaw+dfFLj4UUwh\r\nouq9edSUACSG7fzTdPWXFnVj7j5f/Ty9etExDfRJsUq0FtHr19TP+hZb7mC4\r\nmuxSj4CkwiQT/6EUgZ4ibTisJH3SeFaBbNI=\r\n=I1Ey\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=16"},"gitHead":"59c0f6af6901b9f4edb8d2ec36abaf11f6b0780d","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/6.4.1/node@v16.19.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"16.19.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.1","tsup":"^6.5.0","urijs":"^1.19.11","ts-jest":"^29.0.5","typescript":"^4.9.4","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/object-utils":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_2.0.1_1674884030685_0.1424208182934361","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@homer0/api-utils","version":"2.0.2","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@2.0.2","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"2ce84cc815c10994c0afab80348536f2cbc76746","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-2.0.2.tgz","fileCount":9,"integrity":"sha512-fwcgftgd7ohmFjkv7HfgtDeDsi2HfEedz4ifDbe4b5rDFvx+jVd1ZVUv1ufkhjWkTV3J23JFQd4tUg+b8p/PJQ==","signatures":[{"sig":"MEUCIDfjDQescjK7FxoUSXIAC+49xRbfx1IFrnsErZNzyU63AiEAg/LsnP02v6KZEPbe3AMjX/5T7TRQHCOCeD7swiDLXvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":780560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkA/QXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpG+Q/9H1qgKTEyVXEL8Pur2t8q3Z3QhbeD+cHXKODzcNSt/S9bsF/z\r\nvSSszYWrEeCUmOdCQD5TWXg+Gfmady+7TWLBOW7xOxC7z7FDGfLNPqJir+qI\r\nO81wpEmtJTcRzw7Lg9Kp11x7dOgtWvESIOScEVCZohN0u9D8Ar8LdVSgNc1C\r\nKwA8XvQpvpdF1PmXRdw5LbFtqj3W8WIbcgP+8m2bBOWVu+5saRkjlolZ7A8X\r\nccAiOIeQR2g/b43joAwtMeC9kwZ1ImCzCWDbNK0rt8wAMcokhsO/uRAmxznt\r\nJs506iY3yUFTwQi2rP4kCoIuzcLLbE41oeru6HOzUAontdFDk+D+ZETOwS8N\r\nJQ4vUCUUPs30h/Ny0TgeTqfF0zz9fsTbZ4oQRCLQPwSzQh4/uwyLEngD99je\r\nryI8aJkXfdu6jEovF+4Bx6YqZUS+KctUZnvTqPBxSP5nzNxvKHmRjBQpHgyQ\r\n9gTol061k7+gp26Q47PcWA7kaet41p58id5kwd4nvipIkDIDMBayYN7MwNsF\r\nu3Md7YOAktJUA3mj5v0ZCLKKBxN+h7tRKYFyXRMUaiEoA0caP9M9aqwxd1Yz\r\nAZPC5Y5Pa/pFJU9GZ5iXPZV67sgOKS9FIYM2C8tGe9ThJeL+I1WbBXV/XebX\r\nJT5W6zy2ogSmn0sm8V10WeD3Bs6UYAbFm/Q=\r\n=RUft\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=16"},"gitHead":"1ed6ea29e2035f10f0dff60203b6b1d54c601dc8","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"16.19.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","tsup":"^6.6.3","urijs":"^1.19.11","ts-jest":"^29.0.5","typescript":"^4.9.5","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/object-utils":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_2.0.2_1677980695001_0.08647954601087426","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"@homer0/api-utils","version":"2.0.3","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@2.0.3","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"1a615844fe59bd24d832bec00b60e43a9f33e3f0","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-2.0.3.tgz","fileCount":9,"integrity":"sha512-4SS/dTmA2145MD35AiQg7bV3fXgFF/r9nZOZiZXa6m+sRiDoMrH+uvzijjXZJBA3M+toH6MqHQjDgV5aphlbxw==","signatures":[{"sig":"MEUCIDqr5fbVnKus4r0fjCSIOH5qY4PkwCJ6GO+6doCRBGJrAiEAwcdfmNfMoj2Tr7lZaFaPM++d0LgTkEU7c45oq5BU9/g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":782196},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=16"},"gitHead":"e8c1e75555382d4cc23c78e7c4d1e2c62f8c06a2","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/7.0.2/node@v16.20.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"16.20.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"^7.0.0","urijs":"^1.19.11","ts-jest":"^29.1.0","typescript":"^5.1.3","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.8","@homer0/object-utils":"2.0.3","@homer0/eslint-plugin":"10.2.2"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_2.0.3_1687075252195_0.03911424953640674","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"@homer0/api-utils","version":"2.0.4","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@2.0.4","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"f89d3e6c29f5998b7936028f808f233f58273d84","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-2.0.4.tgz","fileCount":9,"integrity":"sha512-JIweg5uOkB2U1R6dbebtEU+OhIgNq1u2DKXPZg8y3ksgx5upz+6+u4YuapU7bEHmdPRtuSDJRecxg216oxcQFQ==","signatures":[{"sig":"MEYCIQC2ebzctf/E3RpZDX+5wb+FSfWiZY10Ruui8AJXtl0u0gIhANPDWGyOBh4zTIscDsXIMSIXmJbUGKU53i1aof+kqYk9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":782196},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=16"},"gitHead":"d632c6e05b583ceeceff43ed7a52e1e7afbf1265","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/7.0.2/node@v16.20.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"16.20.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"^7.0.0","urijs":"^1.19.11","ts-jest":"^29.1.0","typescript":"^5.1.3","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.9","@homer0/object-utils":"2.0.4","@homer0/eslint-plugin":"10.3.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_2.0.4_1687076164231_0.49834427741830556","host":"s3://npm-registry-packages"}},"2.0.5":{"name":"@homer0/api-utils","version":"2.0.5","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@2.0.5","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"5f85827fd799f28a506fc7d787547855e1ba73d6","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-2.0.5.tgz","fileCount":9,"integrity":"sha512-DgntdK2b/PIPs9Fu9b0BUtzGU/t+xPX5UGDYdROrlscEW4YcuRh8UK+Dz/O5VR/wUdERkeTXO9cn3DPWOqeyxw==","signatures":[{"sig":"MEYCIQCvDokid8k7Xj5Ia+sfnTJzUAP3UxOoWPIBzwEkclGXjQIhALYNwtYcnXYBdyTNX4ZfWtU3nMTLZJxslzshpE1x4h1W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":782197},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=16"},"gitHead":"05356cf2f7d8f158a139c3e2a3fed025f60bbaad","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/7.0.2/node@v16.20.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"16.20.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"^7.0.0","urijs":"^1.19.11","ts-jest":"^29.1.0","typescript":"^5.1.3","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.10","@homer0/object-utils":"2.0.5","@homer0/eslint-plugin":"10.3.1"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_2.0.5_1687077018180_0.3606120914112143","host":"s3://npm-registry-packages"}},"2.0.6":{"name":"@homer0/api-utils","version":"2.0.6","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@2.0.6","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"c98b81fa0b5f30e18d3739ca9a958112a0fac720","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-2.0.6.tgz","fileCount":10,"integrity":"sha512-H40RJiSiKOQgnTT8iH3qvAnQjaaiWNu9MpmP/IhcxY3eEgC/xuR5AQmdmLVMw4VUEZ9AOqtkCgft9P4yTHimwA==","signatures":[{"sig":"MEQCID7HNYsEOaS3ufHXGqwoVu13xGeVIQK2W6Dayp0ifNTkAiALWAwhEBWzmGzqG4JidPJY1Swe8/dFW00ZczFF6ubPDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":792754},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=16"},"gitHead":"bab3ed6af9cf27c0d64e4169dc1f4825a978a717","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/7.1.4/node@v16.20.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"16.20.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.1","tsup":"^7.1.0","urijs":"^1.19.11","ts-jest":"^29.1.1","typescript":"^5.1.6","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.11","@homer0/object-utils":"2.0.6","@homer0/eslint-plugin":"10.3.2"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_2.0.6_1689516130844_0.9913069891458397","host":"s3://npm-registry-packages"}},"2.0.7":{"name":"@homer0/api-utils","version":"2.0.7","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@2.0.7","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"921aaff163e4aefbace6a67ec2180af3740e4201","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-2.0.7.tgz","fileCount":10,"integrity":"sha512-Wkqkkr92HlcNtC2oRXf2sJs4E+U5pFUIXizik7yPTKd5Bm43ZG4HDIVlYEE6xECCF91d5zfZFJ+etANWR1MMjQ==","signatures":[{"sig":"MEYCIQC8++ZCZD8rXTp7U/jV+BdkZtcwDwm/I63IpNLW1PqN/gIhANftMg8ZBb0rg2MAAzVpmC5T+LB6Vz6lvFpsUidK0a07","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":792754},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=16"},"gitHead":"a5b49dc8388a52b256dabccd8c4f1c6e289d09a3","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/7.1.4/node@v16.20.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"16.20.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.1","tsup":"^7.1.0","urijs":"^1.19.11","ts-jest":"^29.1.1","typescript":"^5.1.6","@types/urijs":"^1.19.19","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.11","@homer0/object-utils":"2.0.7","@homer0/eslint-plugin":"11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_2.0.7_1690604434757_0.9093012356267707","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@homer0/api-utils","version":"3.0.0","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@3.0.0","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"9a56a4e234a642b2ae28fc43b66cdc2340e92a2c","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.0.tgz","fileCount":10,"integrity":"sha512-80YCwza13M573HVxrv8V4jYwRhfBHMFPkIRqbKSJLrX3Dvhblyd3J6vovvV2vwwen/LokejlAJHjgvOIWC3ntQ==","signatures":[{"sig":"MEUCIBCfSzqr7UdbUy+17BB+F6NdFj04spGFugLRnnlJGrS/AiEAsIqJB4Ffl6OqhbyxHs//kO163Htw0bt+1ei3goCSEBw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":792758},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <21"},"gitHead":"968248535be40f5ddb1cd53cdb2bb47c1c9a06d7","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/7.3.0/node@v18.18.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"18.18.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^7.2.0","urijs":"^1.19.11","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/urijs":"^1.19.20","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.12","@homer0/object-utils":"3.0.0","@homer0/eslint-plugin":"12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.0_1696230889135_0.07197190978723289","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@homer0/api-utils","version":"3.0.1","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@3.0.1","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"cb3ef3aa42ea25ecb9cf0ca792d6e12a010573b9","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.1.tgz","fileCount":10,"integrity":"sha512-5bTpelI10p5esYyLkavhDMhiKCMeyX6g97aLwaOAmPnUob+F9wUW2DfxXEO1tgOitXtTz1xIC7nVJUTbcqvGdg==","signatures":[{"sig":"MEQCIAIFnaFbs8sUHtF8/sA6ufZHyDntESW1LNDbZLL6V/m3AiAecllW9/tXU/MTfJyUF6XdLEzDld8h85G9sxjTBkIU+w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":793177},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <21"},"gitHead":"3e1bd862a217e2d26a783144b991436e8b589260","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.0.1/node@v18.19.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"18.19.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","urijs":"^1.19.11","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.13","@homer0/object-utils":"3.0.1","@homer0/eslint-plugin":"12.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.1_1703329799594_0.40040402964385957","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"@homer0/api-utils","version":"3.0.2","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@3.0.2","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"1bd6a86a29eab807ad4c4c8d55d879936705784f","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.2.tgz","fileCount":10,"integrity":"sha512-WsDECVTlT1lXyIAc+h8ry5gqXHCysTHxrMbfyOlo76XSuRK0lAWCo5VO9vTXyOeknm1WwOYExPzN5tfobrJKYg==","signatures":[{"sig":"MEYCIQCpjxOcxzBwgkg/bfIi/PlUcjc80SwCYa9bPiXRqpD64AIhAJ3QybWda7SHA5/YpY2fyb/bKRZ7xHY9HZ0Di2AI6qRC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":793177},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <21"},"gitHead":"cc158887f5dfb077b3bcacba37c6f0fdfce7f534","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.1.2/node@v18.19.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"18.19.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","urijs":"^1.19.11","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.14","@homer0/object-utils":"3.0.2","@homer0/eslint-plugin":"12.0.2"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.2_1708602822449_0.9382247977867024","host":"s3://npm-registry-packages"}},"3.0.3":{"name":"@homer0/api-utils","version":"3.0.3","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@3.0.3","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"19bd43dc683b1b0d8b6ce8419e65666e4889dcfe","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.3.tgz","fileCount":10,"integrity":"sha512-P9vG6fNGMYSMY/1Qt/e37MiCeu7M+0Armv013SkBDTxqFtRjZ5ySGwT3ByUcigGNCftL8a0O1MPvNZeHIu4Nqg==","signatures":[{"sig":"MEYCIQDfNEzxnllybKyRJcl5wVUdIeauTKQl7ZQD8avUTEtDLAIhAPbILNAsSuQeYoy32eFWP80RqfB6cVH42bYRjUImTn8h","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":793177},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <21"},"gitHead":"e8e36fdaaebbe32a868ca86be1f90aedd8483909","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.1.2/node@v18.19.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"18.19.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","urijs":"^1.19.11","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.14","@homer0/object-utils":"3.0.3","@homer0/eslint-plugin":"12.0.3"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.3_1710826506408_0.702730143968044","host":"s3://npm-registry-packages"}},"3.0.4":{"name":"@homer0/api-utils","version":"3.0.4","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@3.0.4","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"a9cc18d903c86d0ea46c2f23d40148c62f4bb0bc","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.4.tgz","fileCount":10,"integrity":"sha512-f9ppZHGEO5RFeN9rwF+XtqkgjweWEsfGDgIHRv68bT8amCRg0A54oOTXUaEachFx4+Kr0NKaoshsfrNU8yV0EA==","signatures":[{"sig":"MEUCIQCjH3DR7cMG6Y47Z6yvKaomXic9x2dxUewq/KvAr3W+nwIgIXrem2G7866gUI3hdXeJ/SFPNrZuIoYgClqHAcSsgCs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":794143},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <21"},"gitHead":"d88cdbbaa1c3d2fc4ff0e6a68388de95a0816bb4","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.1.2/node@v18.20.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"18.20.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","urijs":"^1.19.11","ts-jest":"^29.1.2","typescript":"^5.4.4","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.15","@homer0/object-utils":"3.0.4","@homer0/eslint-plugin":"12.0.4"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.4_1712383285582_0.3688717323418007","host":"s3://npm-registry-packages"}},"3.0.5":{"name":"@homer0/api-utils","version":"3.0.5","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@3.0.5","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"2bcc83daab80242a24b2e65f1935bff2addc6a7f","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.5.tgz","fileCount":10,"integrity":"sha512-FAyOXbsD/XNZvD8obvCVD+LxNklfF/ICMoIAbHp3Kpn22e4x+Cc0dGgmGexfAj+qKEfIGbof9ZKeYwxDGhfGGw==","signatures":[{"sig":"MEQCICW3CY8+KaR24hvM9KEpfoUqBJ43KUjKG8kKS28o/7bVAiAvrw5C+EREsFy7D1PA1WUCaExFW8IOO/vtLb4f0b6w4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":794143},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <21"},"gitHead":"89e47f2d17f87e0ce74bbe0f1c34c62a9cc05b74","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.1.3/node@v18.20.2+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"18.20.2","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","urijs":"^1.19.11","ts-jest":"^29.1.2","typescript":"^5.4.5","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.16","@homer0/object-utils":"3.0.5","@homer0/eslint-plugin":"12.0.5"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.5_1715993671463_0.20320036555377485","host":"s3://npm-registry-packages"}},"3.0.6":{"name":"@homer0/api-utils","version":"3.0.6","keywords":["api","fetch","utility","wootils","javascript"],"author":"Leonardo Apiwan (@homer0) <me@homer0.com>","license":"MIT","_id":"@homer0/api-utils@3.0.6","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"dist":{"shasum":"bf5531c3367c98cd3c8bba348a87d5b1424fd6e1","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.6.tgz","fileCount":9,"integrity":"sha512-D2sKzOCAvYEmfiphp3aQ4axr66rDxMgziaTK5DjB0SmCW3DM1sUP4SxotO+F65rxLtbPFcAOUcKKJlmniIfG1g==","signatures":[{"sig":"MEYCIQCcivljXJ5XEHTBp+HiN2uNATCIB7P+ofNOecxznsb4WgIhAPMJKku/46aYsKws1hD+kSX+58e35160NLx/BCtzMgS+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":686029},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <21"},"gitHead":"23adf9f57cbd4d3762816982b78b51db26f7bc30","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.1.8/node@v18.20.4+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"18.20.4","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.0","urijs":"^1.19.11","ts-jest":"^29.2.5","typescript":"^5.6.2","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.17","@homer0/object-utils":"3.0.6","@homer0/eslint-plugin":"12.0.6"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.6_1728358142681_0.537011471385316","host":"s3://npm-registry-packages"}},"3.0.7":{"name":"@homer0/api-utils","version":"3.0.7","keywords":["api","fetch","utility","wootils","javascript"],"author":"Leonardo Apiwan (@homer0) <me@homer0.com>","license":"MIT","_id":"@homer0/api-utils@3.0.7","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"dist":{"shasum":"3154c3119d55b3b6061a0077bc15f98382dee3c0","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.7.tgz","fileCount":9,"integrity":"sha512-ZqRVFGP5Rf7wXsbX9vVUmSmLHl0TbsbFW4L6P4ggwZ2UCqKL28lBWp3pjXMV9bLnXM9zBkPUqSy81AF/CR8EnA==","signatures":[{"sig":"MEUCIQC6r2erHd2c6G7ZS8WnqS5Ya5QRkS8C9cIw+QZi1dwdZQIgSPy99bv21vZL5J5v0sPuD2+AnbXJrFLlo+TWbS4s8Ic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":686029},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <23"},"gitHead":"658c5ce61ee996331fe8fe99ff457234d6ccac96","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.1.9/node@v20.18.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.18.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","urijs":"^1.19.11","ts-jest":"^29.2.5","typescript":"^5.6.3","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.18","@homer0/object-utils":"3.0.7","@homer0/eslint-plugin":"12.0.7"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.7_1731125191865_0.7673827149016166","host":"s3://npm-registry-packages"}},"3.0.8":{"name":"@homer0/api-utils","version":"3.0.8","keywords":["api","fetch","utility","wootils","javascript"],"author":"Leonardo Apiwan (@homer0) <me@homer0.com>","license":"MIT","_id":"@homer0/api-utils@3.0.8","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"dist":{"shasum":"60d896909c67740ad4de9e2fadec4c9a7b2b0c36","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.8.tgz","fileCount":9,"integrity":"sha512-FfT0emzecGBcABMBhvHTO5WjbJcwhcrae7H72ZbkIB8aZOP7aIRncK4K4hUsLW70rigKZlGFnz7jksA3XiTlvQ==","signatures":[{"sig":"MEYCIQCAIJN/LuN7hm2ib+a+FBOyzLXfXdncoYVnOKO2daWUjQIhAI22DN1WYnN2PbDOiIqdxcQ2L/zXN8ankeQJosbnnSUJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":686035},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <23"},"gitHead":"17b652bbb9639047f07aad6684033c943955433f","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.1.9/node@v20.18.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.18.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","urijs":"^1.19.11","ts-jest":"^29.2.5","typescript":"^5.7.3","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"1.0.19","@homer0/object-utils":"3.0.8","@homer0/eslint-plugin":"12.0.8"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.8_1737781343121_0.0401280102201067","host":"s3://npm-registry-packages-npm-production"}},"3.0.9":{"name":"@homer0/api-utils","version":"3.0.9","keywords":["api","fetch","utility","wootils","javascript"],"author":"Leonardo Apiwan (@homer0) <me@homer0.com>","license":"MIT","_id":"@homer0/api-utils@3.0.9","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"dist":{"shasum":"71d53e2e25c6dd3b6e3cc3f0d46a60209a0a035e","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.9.tgz","fileCount":9,"integrity":"sha512-nVMcDxMwJwNQjosMV5piJ604xAJIojo8djHMfu0jIgbk/SWUg+DF3uUEVDm+Hj0NTj9JN2kGK3hJ4ueKEGUlPA==","signatures":[{"sig":"MEUCIDs6iE6hAX7XfR8LFgQSoLNQV+Cu95Xn6IGZaSMsWjudAiEAi/IMtbeo99y9zdqXhZdQ5E/zh/z/GeHC4hvhFi1z3mQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685124},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <23"},"gitHead":"114958cbbbced99462e92e387a92b1872bdf3510","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.2.2/node@v20.19.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","urijs":"^1.19.11","ts-jest":"^29.3.2","typescript":"^5.8.3","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"2.0.0","@homer0/object-utils":"3.0.9","@homer0/eslint-plugin":"12.0.9"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.9_1744588195362_0.7664561826004441","host":"s3://npm-registry-packages-npm-production"}},"3.0.10":{"name":"@homer0/api-utils","version":"3.0.10","keywords":["api","fetch","utility","wootils","javascript"],"author":"Leonardo Apiwan (@homer0) <me@homer0.com>","license":"MIT","_id":"@homer0/api-utils@3.0.10","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"dist":{"shasum":"a65c3055cab881669e11634541c0a211882a488f","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.10.tgz","fileCount":9,"integrity":"sha512-S9WIlu3Q2VjVJiq2MjXXAceZlZeZeR/zpssp2IykPYMRlYGv/9EPu5xBGb2llyO33sEH0dYQh6uCfyThr37/sw==","signatures":[{"sig":"MEUCICcEmN8hZeCokjULWfxgP6INsMtsSpbPJHmgbz+IEOHMAiEA2k+d89UmSzM/LBkdyiCJ7VqkSkj3xZ5KasHto4Bna98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685127},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <23"},"gitHead":"76482b0d3b5237b9a24e538d8bdf650295caa729","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.2.2/node@v20.19.0+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.0","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","urijs":"^1.19.11","ts-jest":"^29.3.2","typescript":"^5.8.3","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"2.0.0","@homer0/object-utils":"3.0.10","@homer0/eslint-plugin":"12.0.10"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.10_1744598683320_0.2064447749457321","host":"s3://npm-registry-packages-npm-production"}},"3.0.11":{"name":"@homer0/api-utils","version":"3.0.11","keywords":["api","fetch","utility","wootils","javascript"],"author":"Leonardo Apiwan (@homer0) <me@homer0.com>","license":"MIT","_id":"@homer0/api-utils@3.0.11","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"dist":{"shasum":"4c304dff72c4484cd41fa43f3b7c79dccc6df961","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.11.tgz","fileCount":9,"integrity":"sha512-0JZrZRjMuUGToHvPIU4d0xEscZ78wDgMdnrQpFjMfXCEzIv/ypsXEfci0qYBEd3BJR+1lfLM3ULvZXdQ1zDzPA==","signatures":[{"sig":"MEQCID6Ac13t2ClgRoWvxeTMJzEHRIPsz0IYpPDXRW+s6JhxAiAL9KfoTjZltePGs9FcoaU5sE02W2C+sW8Xj8/kBfSDaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685127},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <23"},"gitHead":"3ee0433eeefa4ebd2ae61fffb5e504ef9da322ff","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.2.2/node@v20.19.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","urijs":"^1.19.11","ts-jest":"^29.3.2","typescript":"^5.8.3","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"2.0.0","@homer0/object-utils":"3.0.11","@homer0/eslint-plugin":"12.0.11"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.11_1746839449630_0.9495714098886037","host":"s3://npm-registry-packages-npm-production"}},"3.0.12":{"name":"@homer0/api-utils","version":"3.0.12","keywords":["api","fetch","utility","wootils","javascript"],"author":"Leonardo Apiwan (@homer0) <me@homer0.com>","license":"MIT","_id":"@homer0/api-utils@3.0.12","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"dist":{"shasum":"cb39d9994309182e3eac1cee0740f7fc2d36dc11","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.12.tgz","fileCount":9,"integrity":"sha512-4bAdJGRbNUTjYYcBZJp0NXt9MHkmbbR17KeRLv4b5NKH4b1MAOyOHEIXSnrGjgAYB80QLKB+k+rxGsoLe+Q1hQ==","signatures":[{"sig":"MEUCIF72hpZMYsx8aAbdeaybnSnbD+RhwfXl53X78rcjwgFgAiEAnbxpOO90pTVjo9wI3nZ3AOPsaCnjMQo1bzTkPqd5PK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685133},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <23"},"gitHead":"00a574b51b25889c03ba657bf2aca39ddda00bad","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.2.2/node@v20.19.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"catalog:","tsup":"catalog:","urijs":"^1.19.11","ts-jest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"2.0.1","@homer0/object-utils":"3.0.12","@homer0/eslint-plugin":"12.0.12"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.12_1748061773472_0.7899656674863964","host":"s3://npm-registry-packages-npm-production"}},"3.0.13":{"name":"@homer0/api-utils","version":"3.0.13","keywords":["api","fetch","utility","wootils","javascript"],"author":"Leonardo Apiwan (@homer0) <me@homer0.com>","license":"MIT","_id":"@homer0/api-utils@3.0.13","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"dist":{"shasum":"42c4394d3b0d0a02270c99cd2a2b73b06c3f6206","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.13.tgz","fileCount":9,"integrity":"sha512-mfiSdBu7QJTu3qe7XASe//0rEGX0IMO70G33qu623qjtJkas2ednswy8oHR5emaTBKMV8PvJ8kiAY+ho5xrFlw==","signatures":[{"sig":"MEUCIC6k8R+vCJdqYRQKWIT8YRJJ8rYV8F5IzaF15CnNBbHjAiEAkaCZCLKStxzXmOCT3o4oalrONvZuvpYw8bhyPoGlcMU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685133},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <23"},"gitHead":"51f8093860066cf6ad94729d4be09f3c8d5ce62e","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.2.2/node@v20.19.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"catalog:","tsup":"catalog:","urijs":"^1.19.11","ts-jest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"2.0.1","@homer0/object-utils":"3.0.13","@homer0/eslint-plugin":"12.0.13"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.13_1748063390005_0.9644390982036048","host":"s3://npm-registry-packages-npm-production"}},"3.0.14":{"name":"@homer0/api-utils","version":"3.0.14","keywords":["api","fetch","utility","wootils","javascript"],"author":"Leonardo Apiwan (@homer0) <me@homer0.com>","license":"MIT","_id":"@homer0/api-utils@3.0.14","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"dist":{"shasum":"dc9997856fc5ec78686c02cce8bbd3945e201d61","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-3.0.14.tgz","fileCount":9,"integrity":"sha512-zeBmMEp/1jTiL3hm9feBfiY9/LVjpUDU0VuvxSULCMsH+YDOxmGbrcF7h0rImj92F1bMKgoULl1XCxBWvCFEKQ==","signatures":[{"sig":"MEUCIQCmCOor276I/q4pFeWGiZpFjTe061sh/Ey7OTyp0GC0hAIgUyLN7fQAzneRCEwMMq7X2yDqGAmQXsUKXcHzsqDI5LA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685133},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18 <23"},"gitHead":"9e804863e566d60148217835a2d5f7556bb57a45","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.2.2/node@v20.19.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.1","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"catalog:","tsup":"catalog:","urijs":"^1.19.11","ts-jest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"2.0.2","@homer0/object-utils":"3.0.14","@homer0/eslint-plugin":"12.0.13"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_3.0.14_1748064097546_0.5334798422795615","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@homer0/api-utils","version":"4.0.0","keywords":["api","fetch","utility","wootils","javascript"],"author":"Leonardo Apiwan (@homer0) <me@homer0.com>","license":"MIT","_id":"@homer0/api-utils@4.0.0","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"dist":{"shasum":"4b4f82ee27cc2ae214498dc78c3dbc999c38947a","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-4.0.0.tgz","fileCount":9,"integrity":"sha512-WlZ7gIi1qezv4IW83PUFD01L4B1anUqcHLdSsUvgv66z7gBM7C71L+K4qj7HBdF7n88hqHVtsqVnB07EfHwVbQ==","signatures":[{"sig":"MEYCIQCs8snA71bde+QvxfFndpVeUKnHzL7Dttqocgm9atJ4ggIhALNBJSSsW2UNwdwzGatEtRLpR6FN2B6+QgPq3VG5mxjp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685130},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20 <23"},"gitHead":"8ebd444fb628a91cebb3cd70e22ab9f041e5ec0a","scripts":{"lint":"eslint .","test":"jest -c ./.jestrc.js","build":"tsup src/index.ts","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/8.2.4/node@v20.19.5+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.5","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"catalog:","tsup":"catalog:","urijs":"^1.19.11","ts-jest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.25","jest-fetch-mock":"^3.0.3","@homer0/tsconfig":"3.0.0","@homer0/object-utils":"4.0.0","@homer0/eslint-plugin":"13.0.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_4.0.0_1758417422566_0.5515259041784626","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@homer0/api-utils","version":"5.0.0","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@5.0.0","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"a190ea55a41c3affb71416d4195daf1d6e9ca396","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-5.0.0.tgz","fileCount":9,"integrity":"sha512-ruyJCaq7lXl3F6GbdTOOAVN12mBRMOBfUDl6eB8rMWIBzHK1x2VKj1LIOSocxi9gYNg+VLioBZuCL2jHfkkJTg==","signatures":[{"sig":"MEUCIQDXAcWRsciwulbOIuRWrp2PQd1ceXNyU//t4l2H5GnQfgIgL7ldKzEzKayPoGr2J4Gnx/in/srmyd2a0kYoqt3VexA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292209},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20 <23"},"exports":{".":{"types":"./src/index.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"fece630639760a2ea3b9f191ff203ac33bb88a09","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/9.0.1/node@v20.19.5+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.5","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"4.0.0","@vitest/coverage-v8":"catalog:","vite-tsconfig-paths":"catalog:","@homer0/object-utils":"5.0.0","@homer0/eslint-plugin":"14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_5.0.0_1763783340896_0.15624966818634944","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"@homer0/api-utils","version":"5.0.1","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@5.0.1","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"5590febda9d45b8920f8d711ea9291100a330056","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-5.0.1.tgz","fileCount":9,"integrity":"sha512-eJ6OnG/0AR8Hjno2T4v7Tb55VxHNj+Ni5ZtlfKzo12mn4FQWWPg/kotoD63OxUSQ+Im4cTENw8dM/v3pU8Ie4w==","signatures":[{"sig":"MEQCIFb40A9GuMvy6ZCHNOCkhAI3mZSRaQqLZGWl4RGqjca6AiB4iXiyuAZkReRu2AMZkkQ6fw3ERf8zn3fev/YEoINUSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292209},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20 <23"},"exports":{".":{"types":"./src/index.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"ad1278273b546de108037954c1094af169deb5df","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/9.0.1/node@v20.19.5+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.5","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"4.0.0","@vitest/coverage-v8":"catalog:","vite-tsconfig-paths":"catalog:","@homer0/object-utils":"5.0.1","@homer0/eslint-plugin":"14.0.1"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_5.0.1_1763785448140_0.46725609097358345","host":"s3://npm-registry-packages-npm-production"}},"5.0.2":{"name":"@homer0/api-utils","version":"5.0.2","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@5.0.2","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"8ae4fdc9956ea8fdb50fbfdd0266396432fa27d8","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-5.0.2.tgz","fileCount":9,"integrity":"sha512-dNbN5i/xndvRnNw/qTBoqobrG134GakCLLVU3NPy2YEXOEbhbgb3ukKgFoYn0e/zDAMMFhRa5lZbnYF8xCf10Q==","signatures":[{"sig":"MEYCIQDhKc61C98ojgmymIUondB7LDVRM+/6dYFghj5U7XXHJAIhAMILUwugKcY+Xc7oa32N972/5CJ1juxr+4V6TppkG/XC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292209},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20 <23"},"exports":{".":{"types":"./src/index.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"f8ab8bb9c0fd24a5b10dabb78476d3a99e7b9620","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/9.0.1/node@v20.19.5+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.5","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"4.0.0","@vitest/coverage-v8":"catalog:","vite-tsconfig-paths":"catalog:","@homer0/object-utils":"5.0.2","@homer0/eslint-plugin":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_5.0.2_1763957406981_0.5100156262944573","host":"s3://npm-registry-packages-npm-production"}},"5.0.3":{"name":"@homer0/api-utils","version":"5.0.3","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@5.0.3","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"093860e4438873d154a4227e6730edba6f532caa","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-5.0.3.tgz","fileCount":9,"integrity":"sha512-lOEua2fZTNYsCJ+pFQASHFLToc9ugVu8o2rNF1+2oS9Baaf4XVToJjB+iZalaLwVQmNQidwLCMBizlsLg+Ra/Q==","signatures":[{"sig":"MEUCIEqU5DwLWUDqJVTCiwSG0kXuwvm7EjS6ZwLdRlgE54h/AiEAlJa+TuuFE3xVlNrwNNnlkDbkHUIzrtBBiybIOjc8h1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292209},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20 <23"},"exports":{".":{"types":"./src/index.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"242d406a2523591dc2c90bb05ea2645674c885d4","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/9.0.1/node@v20.19.5+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.5","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"4.0.0","@vitest/coverage-v8":"catalog:","vite-tsconfig-paths":"catalog:","@homer0/object-utils":"5.0.3","@homer0/eslint-plugin":"14.1.1"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_5.0.3_1763958557389_0.2716991109387552","host":"s3://npm-registry-packages-npm-production"}},"5.0.4":{"name":"@homer0/api-utils","version":"5.0.4","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@5.0.4","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"ee845c931efe327c115a6c30cb74e058d5fa7774","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-5.0.4.tgz","fileCount":6,"integrity":"sha512-eXDd3a9f5ztszcSzePK2VvUXfy537dNb6x1hONwbEqfplt1gXoW0sXNx919wTOCCjGdnAyDlaossmhOlrGrLlw==","signatures":[{"sig":"MEYCIQD1mHY022S6AVRGl5ltHXXSIgKfmicAG8q029XnRgbMpAIhANr8/y13Bk+xDfZCKOUiVObIqiz/8MJtCdnY5/0cn4WC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284914},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20 <23"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"94d56cc2806978734f78f4e7534ffe52ba467413","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/9.0.1/node@v20.19.5+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.5","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"4.0.1","@vitest/coverage-v8":"catalog:","vite-tsconfig-paths":"catalog:","@homer0/object-utils":"5.0.4","@homer0/eslint-plugin":"14.1.2"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_5.0.4_1764213530477_0.8450498805929405","host":"s3://npm-registry-packages-npm-production"}},"5.0.5":{"name":"@homer0/api-utils","version":"5.0.5","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@5.0.5","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"7f3e9cc6fdf722dc5d41f8b2b9f209bec3911ba7","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-5.0.5.tgz","fileCount":6,"integrity":"sha512-LOHrrZFYP2sGsgaBbzpXfzAptBEFfXQYyMKk7zq90kmT0esWW+MDxRrgzBUuSDdMUGk0OD7caylwFhvFslrzlQ==","signatures":[{"sig":"MEUCIQCSSPXyRfOiANHqN2gfCUDT5Pgt/wEknRz3z7ZdxrEZsgIgeJQ15fks4NE53dyeGBjwSEgX/oO3yDV7Wq5tV8yJMfs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284914},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20 <23"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"b1256966610df3430ad378b6db8b9a0048a77df7","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/9.0.3/node@v20.19.5+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.5","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"4.1.0","@vitest/coverage-v8":"catalog:","vite-tsconfig-paths":"catalog:","@homer0/object-utils":"5.0.5","@homer0/eslint-plugin":"14.2.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_5.0.5_1764648651347_0.31804514449413723","host":"s3://npm-registry-packages-npm-production"}},"5.0.6":{"name":"@homer0/api-utils","version":"5.0.6","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@5.0.6","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"82861228c30a8a33aaf969dc8c807941cf0a716e","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-5.0.6.tgz","fileCount":6,"integrity":"sha512-DL0oj4l+UdKXQoGsv8Np5sYLskydSl/EOZe4hTlPhItUo4bS+i7X0MUWrK/+Ij35H7m+TxvdVlWiB9Cs07jOuA==","signatures":[{"sig":"MEUCIQD/jNdup/y59WDIphK8yYa0+uMdAvZQ3Zr7B4ve2TwGjAIgeo9MKMXBL81+hi16zxXxWJVuDuLSsVOI9pST7YMQRd4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284914},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20 <23"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"6f871c4cae4d257c0ccee0939315bae34cc4c096","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.6","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"4.1.1","@vitest/coverage-v8":"catalog:","vite-tsconfig-paths":"catalog:","@homer0/object-utils":"5.0.6","@homer0/eslint-plugin":"14.2.1"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_5.0.6_1764727603330_0.19241571404347724","host":"s3://npm-registry-packages-npm-production"}},"5.0.7":{"name":"@homer0/api-utils","version":"5.0.7","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@5.0.7","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"1978c191e72fcb444bb503f184a0f042818f3fb9","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-5.0.7.tgz","fileCount":6,"integrity":"sha512-Fm7uGCaj3a9ILWNEcGKIjIYWrAxKmsN55YKrfyIrUAlY8fAJT4xmjXI6otmFqVC9wzcVUw53miIVFfFa1X5VNw==","signatures":[{"sig":"MEUCIGXGl3JiM5BBPVncZfFq04rnwTTclHTehms4ebSC9dr3AiEAyWv+DMkKPnE8ej3U+QAPxrEdNsBG8NwY2lj8xhNsCEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284910},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"28dcab5e7533572e5d0cc0966f2843fcb943615d","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.6","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"4.1.1","@vitest/coverage-v8":"catalog:","vite-tsconfig-paths":"catalog:","@homer0/object-utils":"5.0.7","@homer0/eslint-plugin":"14.2.2"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_5.0.7_1764825813846_0.22485672461870077","host":"s3://npm-registry-packages-npm-production"}},"5.0.8":{"name":"@homer0/api-utils","version":"5.0.8","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@5.0.8","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"bcbfa82374329756a40bdc391c9f5e6dc2c744ec","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-5.0.8.tgz","fileCount":6,"integrity":"sha512-edOGnGXEEyRfCwJnh6ysatmWaatMgjjicifqzBvzftecx2SFpbuJDMhGeFvsJ+ENPmvkz/jZJ22PXt1PfymIBQ==","signatures":[{"sig":"MEQCIBkSpFCrC7YakUV48CuyeM12RwNw6cMGnQhGzpXkrvrJAiBGEJApEC4997jwBC0K1IZjTZDFxVzd5gs8qLfzYHtnbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284910},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"e4f2b5802352087d47dfcf7d08ff63da0f39631d","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"homer0","email":"me@homer0.com"},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.6","engine-strict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"4.1.1","@vitest/coverage-v8":"catalog:","vite-tsconfig-paths":"catalog:","@homer0/object-utils":"5.0.8","@homer0/eslint-plugin":"14.2.3"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_5.0.8_1766981997930_0.7699883363968061","host":"s3://npm-registry-packages-npm-production"}},"5.0.9":{"name":"@homer0/api-utils","version":"5.0.9","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@5.0.9","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"1a9eec9915aa223ca9907d06066d183f2c931eb2","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-5.0.9.tgz","fileCount":6,"integrity":"sha512-x41etbGmEXnZDM3y0ggQ7AKchWKyMbb5sz+ku7zt3nBVkHn0z7gWzA2glhYR7vf3mTSnzn9AcLrA8m4qJYd0Bw==","signatures":[{"sig":"MEUCIA8j7CWibBfunzsSLK8yQdsZ+jMZo659BKdFeGb0VS4pAiEA5qlFVpu9qyMewM02p1KLuVQCqAxRxgBVZwhQzf62BTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@homer0%2fapi-utils@5.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":284899},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"291c00869f3f00c63d5c0458555dfeb21ad231e1","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dced5b38-7a1f-4a5d-a45f-416be69c711b"}},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/9.0.7/node@v20.19.6+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"20.19.6","engine-strict":true,"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"5.0.0","@vitest/coverage-v8":"catalog:","@homer0/object-utils":"5.0.9","@homer0/eslint-plugin":"14.2.4"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_5.0.9_1777181088198_0.5123105383727824","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@homer0/api-utils","version":"6.0.0","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@6.0.0","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"54c4a89c7c164374a6744c2593b7e78b022cc9b5","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-6.0.0.tgz","fileCount":6,"integrity":"sha512-h/TXqLkDoWI+z7svThYB2l9Og3ERvFhqXCrIrQomy5rFwqxNl3wA4WODbSzVR0CPCJOp04HJ/QcjlO1iaIkDjQ==","signatures":[{"sig":"MEUCIEo6iiytGaJbFUmjH3C4gDkRX5KLTkU4KC5zL6DEF6rAAiEA0b4prwfDyKi9IUuC0KdbrssvAwqiEM55sksFCfsV1Ow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@homer0%2fapi-utils@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":284945},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"73afaa49ae5a5d66b67b9c3f336ca3be12de65bd","scripts":{"lint":"eslint .","test":"vitest run $@","build":"tsup","lint:file":"eslint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dced5b38-7a1f-4a5d-a45f-416be69c711b"}},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/10.0.0/node@v22.23.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"22.23.1","engine-strict":true,"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","eslint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"5.0.0","@vitest/coverage-v8":"catalog:","@homer0/object-utils":"6.0.0","@homer0/eslint-plugin":"15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_6.0.0_1786157694175_0.16194102137967414","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"name":"@homer0/api-utils","version":"6.0.2","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@6.0.2","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"39d87a63e3ff3cce0630a9ce7aa061444808ff2f","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-6.0.2.tgz","fileCount":6,"integrity":"sha512-SgZ1fuuw8FIQomE4B2rm1FYpxd4kH4Z54EzsrkH6karN6R9GLxRBUV1twlYrz7aJM98jq2VPlPnljR6XpPb3hA==","signatures":[{"sig":"MEYCIQCl1rPhI+d7W0fTgVkOPLqpWxIVf8dfkwC+d5EuKaPaXwIhAKBaE9LfuuLBDoigh05xWTgzVJIeULkcUw9gG5wSj0hD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@homer0%2fapi-utils@6.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":284944},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"07328e8a7b1f1b73c46837692c8821a7badca190","scripts":{"lint":"oxlint .","test":"vitest run $@","build":"tsup","lint:file":"oxlint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dced5b38-7a1f-4a5d-a45f-416be69c711b"}},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/10.0.0/node@v22.23.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"22.23.1","engine-strict":true,"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","oxlint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"5.0.0","@vitest/coverage-v8":"catalog:","@homer0/object-utils":"6.0.2","@homer0/oxlint-config":"0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_6.0.2_1786264586598_0.45219959947759913","host":"s3://npm-registry-packages-npm-production"}},"6.0.4":{"name":"@homer0/api-utils","version":"6.0.4","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@6.0.4","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"53565993ef0ed6a7a8746f883f6495716d9fdb97","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-6.0.4.tgz","fileCount":6,"integrity":"sha512-NrjvzVIJ9jUFLg3ylEiN7D4Wl1a1cnPTF05XBFoejV2v1B/ljvM3xLvn0gHX6M+U6MQ095/ipYCwaU6cxcMfZg==","signatures":[{"sig":"MEQCIGOyl9HxPYVTGY14TIT8y6EQ6VYEFYr56UeUtZLv3NLgAiBbKqDStuwmcJAICK8PXe825eTfYMdYQ0yzaYqLvsCQAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@homer0%2fapi-utils@6.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":283646},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"e494ba08d9dd4fe6e5d3a9ef54201f3c1f748355","scripts":{"lint":"oxlint .","test":"vitest run $@","build":"tsup","lint:file":"oxlint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dced5b38-7a1f-4a5d-a45f-416be69c711b"}},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/10.0.0/node@v22.23.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"22.23.1","engine-strict":true,"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","urijs":"^1.19.11","oxlint":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"5.0.1","@vitest/coverage-v8":"catalog:","@homer0/object-utils":"6.0.4","@homer0/oxlint-config":"1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_6.0.4_1786270248863_0.13492804957461635","host":"s3://npm-registry-packages-npm-production"}},"6.0.5":{"name":"@homer0/api-utils","version":"6.0.5","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@6.0.5","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"0ef24e3b1cb8ae9a54fbbd0a7e632caad077e01d","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-6.0.5.tgz","fileCount":6,"integrity":"sha512-Ph/oKUABCDb1cFByX+aXf8KbXkM8oKHoya3xRMkKuEahM8KE2SGlX06eau0gKiGZgmCP07969xvQjJP7LKYBNw==","signatures":[{"sig":"MEYCIQDk5PlK1IrWf7l1fY9xXd9QtUkBR3PLbvA21GtFll1GOQIhAKbYaSp7csUZBwG3H657uK+zsSqpMdPIxJyZNfuOQ0O7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@homer0%2fapi-utils@6.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":246332},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"27e773cc888ac2ffe26fabd5976a45ea7fdfaae8","scripts":{"lint":"oxlint .","test":"vitest run $@","build":"tsdown","lint:file":"oxlint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dced5b38-7a1f-4a5d-a45f-416be69c711b"}},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/10.0.0/node@v22.23.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"22.23.1","engine-strict":true,"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"urijs":"^1.19.11","oxlint":"catalog:","tsdown":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"5.0.1","@vitest/coverage-v8":"catalog:","@homer0/object-utils":"6.0.5","@homer0/oxlint-config":"1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_6.0.5_1786330509077_0.975163856369778","host":"s3://npm-registry-packages-npm-production"}},"6.0.6":{"name":"@homer0/api-utils","version":"6.0.6","keywords":["api","fetch","utility","wootils","javascript"],"author":{"url":"@homer0","name":"Leonardo Apiwan","email":"me@homer0.com"},"license":"MIT","_id":"@homer0/api-utils@6.0.6","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"homepage":"https://github.com/homer0/packages#readme","bugs":{"url":"https://github.com/homer0/packages/issues"},"dist":{"shasum":"1408cb569fb2e0e9335f4e4f0a727bf00e4ffa3e","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-6.0.6.tgz","fileCount":6,"integrity":"sha512-BrXvTNtcsfC55V1mzJ5kUeEIpTkH8fmQaLHfh1T6sgONOnML9F3GrE/jcN7Jk2RG0y+VCW0cL4yltp2MukY+oQ==","signatures":[{"sig":"MEUCIEO3aPxAjAtkow2w2VUrhrBffKattwtAbggpVNA6iYdJAiEAunhTZ4yGuifn6q+6X3JpdW7DmSmdKK7IF94ReWMBBKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@homer0%2fapi-utils@6.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":246332},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"7587cd24e11f4aa918acfa5ec4e873e0c587f7a8","scripts":{"lint":"oxlint .","test":"vitest run $@","build":"tsdown","lint:file":"oxlint $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dced5b38-7a1f-4a5d-a45f-416be69c711b"}},"repository":{"url":"git+https://github.com/homer0/packages.git","type":"git","directory":"packages/public/api-utils"},"_npmVersion":"lerna/10.0.0/node@v22.23.1+x64 (linux)","description":"A few utilities to work with APIs.","directories":{},"_nodeVersion":"22.23.1","engine-strict":true,"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"urijs":"^1.19.11","oxlint":"catalog:","tsdown":"catalog:","vitest":"catalog:","typescript":"catalog:","@types/urijs":"^1.19.26","unplugin-swc":"catalog:","@homer0/tsconfig":"5.0.1","@vitest/coverage-v8":"catalog:","@homer0/object-utils":"6.0.6","@homer0/oxlint-config":"1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/api-utils_6.0.6_1786590230752_0.2956500989571904","host":"s3://npm-registry-packages-npm-production"}},"6.0.7":{"name":"@homer0/api-utils","description":"A few utilities to work with APIs.","version":"6.0.7","repository":{"type":"git","url":"git+https://github.com/homer0/packages.git","directory":"packages/public/api-utils"},"author":{"name":"Leonardo Apiwan","email":"me@homer0.com","url":"@homer0"},"license":"MIT","keywords":["api","fetch","utility","wootils","javascript"],"publishConfig":{"access":"public","provenance":true},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./package.json":"./package.json"},"devDependencies":{"@homer0/object-utils":"6.0.7","@homer0/oxlint-config":"2.0.0","@homer0/tsconfig":"5.0.1","@types/urijs":"^1.19.26","@vitest/coverage-v8":"catalog:","oxlint":"catalog:","tsdown":"catalog:","typescript":"catalog:","unplugin-swc":"catalog:","urijs":"^1.19.11","vitest":"catalog:"},"engine-strict":true,"engines":{"node":">=22"},"scripts":{"lint":"oxlint .","lint:file":"oxlint $@","test":"vitest run $@","types:check":"tsc --noEmit && tsc --noEmit --project ./tests/tsconfig.json","build":"tsdown","prepublishOnly":"pnpm run build"},"gitHead":"7d849b3b0b5d9cc54557f3132bb50b1acc67f9f5","_id":"@homer0/api-utils@6.0.7","bugs":{"url":"https://github.com/homer0/packages/issues"},"homepage":"https://github.com/homer0/packages#readme","_nodeVersion":"22.23.2","_npmVersion":"lerna/10.0.0/node@v22.23.2+x64 (linux)","dist":{"integrity":"sha512-9y4X9GHiK8+C6qXvKDu6OuYAd00WkVlANlsSwDoIORKY7teyDiEzemrDJJ+fSPJSGMGITr7v+18ffzE2HiGkmg==","shasum":"199896235f4a03bfbc9754cdeab9c7842be0c799","tarball":"https://registry.npmjs.org/@homer0/api-utils/-/api-utils-6.0.7.tgz","fileCount":6,"unpackedSize":246332,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@homer0%2fapi-utils@6.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEB/rBR6vSLc3Z+3SqoKxCVmh+UIgYsV5HDJfM5Z9qf0AiEAzW/jg1Xfd7SUgS00/txjljZbPZRyBT/rhzG7++Hi2wg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dced5b38-7a1f-4a5d-a45f-416be69c711b"}},"directories":{},"maintainers":[{"name":"homer0","email":"me@homer0.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/api-utils_6.0.7_1786761974547_0.08905297908443321"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-12T10:25:36.078Z","modified":"2026-08-15T02:46:15.076Z","1.0.1":"2022-07-12T10:25:36.488Z","1.0.2":"2022-07-15T05:31:09.666Z","1.0.4":"2022-07-15T14:18:52.061Z","1.0.5":"2022-10-22T08:46:50.701Z","2.0.0":"2022-12-27T07:50:19.087Z","2.0.1":"2023-01-28T05:33:50.859Z","2.0.2":"2023-03-05T01:44:55.260Z","2.0.3":"2023-06-18T08:00:52.445Z","2.0.4":"2023-06-18T08:16:04.502Z","2.0.5":"2023-06-18T08:30:18.514Z","2.0.6":"2023-07-16T14:02:11.124Z","2.0.7":"2023-07-29T04:20:34.982Z","3.0.0":"2023-10-02T07:14:49.408Z","3.0.1":"2023-12-23T11:09:59.845Z","3.0.2":"2024-02-22T11:53:42.750Z","3.0.3":"2024-03-19T05:35:06.607Z","3.0.4":"2024-04-06T06:01:25.835Z","3.0.5":"2024-05-18T00:54:31.644Z","3.0.6":"2024-10-08T03:29:02.877Z","3.0.7":"2024-11-09T04:06:32.242Z","3.0.8":"2025-01-25T05:02:23.455Z","3.0.9":"2025-04-13T23:49:55.629Z","3.0.10":"2025-04-14T02:44:43.554Z","3.0.11":"2025-05-10T01:10:49.977Z","3.0.12":"2025-05-24T04:42:53.723Z","3.0.13":"2025-05-24T05:09:50.268Z","3.0.14":"2025-05-24T05:21:37.749Z","4.0.0":"2025-09-21T01:17:02.841Z","5.0.0":"2025-11-22T03:49:01.107Z","5.0.1":"2025-11-22T04:24:08.336Z","5.0.2":"2025-11-24T04:10:07.236Z","5.0.3":"2025-11-24T04:29:17.589Z","5.0.4":"2025-11-27T03:18:50.738Z","5.0.5":"2025-12-02T04:10:51.592Z","5.0.6":"2025-12-03T02:06:43.558Z","5.0.7":"2025-12-04T05:23:34.036Z","5.0.8":"2025-12-29T04:19:58.084Z","5.0.9":"2026-04-26T05:24:48.356Z","6.0.0":"2026-08-08T02:54:54.303Z","6.0.2":"2026-08-09T08:36:26.781Z","6.0.4":"2026-08-09T10:10:49.015Z","6.0.5":"2026-08-10T02:55:09.225Z","6.0.6":"2026-08-13T03:03:50.889Z","6.0.7":"2026-08-15T02:46:14.712Z"},"bugs":{"url":"https://github.com/homer0/packages/issues"},"author":{"name":"Leonardo Apiwan","email":"me@homer0.com","url":"@homer0"},"license":"MIT","homepage":"https://github.com/homer0/packages#readme","keywords":["api","fetch","utility","wootils","javascript"],"repository":{"type":"git","url":"git+https://github.com/homer0/packages.git","directory":"packages/public/api-utils"},"description":"A few utilities to work with APIs.","maintainers":[{"name":"homer0","email":"me@homer0.com"}],"readme":"# 🚀 API utils\n\nA really basic client to work with an API endpoints requests.\n\n## 🍿 Usage\n\n> If you are wondering why I built this, go to the [Motivation](#motivation) section.\n\n- ⚙️ [Examples](#%EF%B8%8F-examples)\n- 🤘 [Development](#-development)\n\n### ⚙️ Examples\n\nAlthought the utilities can be used in both the browser and Node, in these examples I'll be using [`node-fetch`](https://www.npmjs.com/package/node-fetch) as \"assume a Node env\".\n\nAlso, have in mind that, while the HTTP verbs' methods and the `endpoint` method are public, the idea would be to subclass the client and expose specific method that will translate to internal requests. Yes, there's an example for that.\n\n#### Configuring the client and making a request\n\nTo initialize a client, you'll need the following things:\n\n```ts\nimport { apiClient } from '@homer0/api-utils';\nimport fetchClient from 'node-fetch';\n\nconst client = apiClient({\n  fetchClient,\n  url: 'https://api.homer0.dev',\n  endpoints: {\n    login: 'auth/login',\n  },\n});\n```\n\n1. The `fetchClient` is the client that will actually make the requests. Having the fetch outside the API Client makes it so it can be used in both the browser and Node, as you can use `node-fetch`, or `window.fetch`.\n2. The `url` is the base url, or entry point, of the API you'll work with.\n3. The dictionary of endpoints the client can request to.\n\nNow that you have the client, to make a request, you'll need to first generate the endpoint url, and then use it on the method for the HTTP verb you want to use:\n\n```ts\ntype UserInfo = { id: number; name: string };\nconst info = await client.post<UserInfo>(client.endpoint('login'), {\n  username: 'Rosario',\n  password: 'pilar',\n});\n// The URL is: https://api.homer0.dev/auth/login\n```\n\n> You have methods for the following HTTP verbs: `get`, `post`, `put`, `patch`, `delete` and `head`.\n\n#### Endpoints with parameters\n\nIn the previous example, the request was quite simple: `POST` to the `login` endpoint; but you can have endpoints that require specific parameters to be sent. In this example, the `profile` endpoint requires the user ID to be sent:\n\n```ts\nconst client = apiClient({\n  fetchClient,\n  url: 'https://api.homer0.dev',\n  endpoints: {\n    profile: 'users/:id/profile',\n  },\n});\n```\n\nAnd we can send it in a dictionary, as the second parameter of the `endpoint` method:\n\n```ts\ntype UserProfile = { id: number; name: string; email: string; url: string };\nconst profile = await client.get<UserProfile>(client.endpoint('profile', { id: 2509 }));\n// The URL is: `https://api.homer0.dev/users/2509/profile`\n```\n\nThe parameters' dictionary can be use to send any number of parameters to the endpoint, and if the client doesn't find a placeholder in the path definition, it will just add it as a query parameter:\n\n```ts\nconst profile = await client.get<UserProfile>(\n  client.endpoint('profile', {\n    id: 2509,\n    format: 'json',\n  }),\n);\n// The URL is: `https://api.homer0.dev/users/2509/profile?format=json`\n```\n\n#### Changing the placeholders' format\n\nBy default, the placeholders start with colon (`:`) followed by the name of the parameter, but that can be changed by sending custom options to the \"endpoints generator\" the API client uses:\n\n```ts\nconst client = apiClient({\n  fetchClient,\n  url: 'https://api.homer0.dev',\n  endpoints: {\n    profile: 'users/{{id}}/profile',\n  },\n  endpointsGenerator: {\n    options: {\n      paramsPlaceholder: '{{%name%}}',\n    },\n  },\n});\n```\n\nThe placeholders now follow a handlebar-like syntax; you just have to keep the `%name%` part, so the generator can replace it with the name of the parameter.\n\n#### Endpoints generator\n\nIn the previous example, we used the `endpointsGenerator` options object to change the placeholders' format, but what we actually did was sending specific constructor options to the `EndpointsGenerator` service the client uses under the hood.\n\nThis service can be used stand alone, and it just takes care of generating endpoints:\n\n```ts\nimport { endpointsGenerator } from '@homer0/api-utils';\n\nconst endpoints = endpointsGenerator({\n  url: 'https://api.homer0.dev',\n  endpoints: {\n    profile: 'users/:id/profile',\n  },\n});\n\nconst url = endpoints.get('profile', { id: 2509 });\n// It will return the URL: `https://api.homer0.dev/users/2509/profile`\n```\n\nAnd when working with the API Client, the constructor options has the following object:\n\n```ts\n{\n  endpointsGenerator?: {\n    Class?: typeof EndpointsGenerator;\n    options?: Omit<EndpointsGeneratorOptions, 'url' | 'endpoints'>;\n  };\n}\n```\n\nYou can use it to send any custom options to the `EndpointsGenerator` service that will be created, to the point that you can even send a custom subclass for the client to use.\n\n```ts\nimport { EndpointsGenerator, apiClient } from '@homer0/api-utils';\n\nclass MyEndpointsGenerator extends EndpointsGenerator {\n  get(key: string, parameters: Record<string, unknown> = {}): string {\n    return super.get(key, {\n      ...parameters,\n      magic: true,\n    });\n  }\n}\n\nconst client = apiClient({\n  fetchClient,\n  url: 'https://api.homer0.dev',\n  endpoints: {\n    profile: 'users/{{id}}/profile',\n  },\n  endpointsGenerator: {\n    Class: MyEndpointsGenerator,\n    options: {\n      paramsPlaceholder: '{{%name%}}',\n    },\n  },\n});\n```\n\nAnd now all your requests will include `magic` as a query parameter 🧙‍♀️!\n\n#### Endpoints definitions\n\nIn all the previous examples, we've seen the endpoints dictionary being just a flat dictionary of strings, but you could also nest endpoints, and even add default query parameters:\n\n```ts\nconst endpoints = {\n  login: 'auth/login',\n  users: {\n    profile: 'users/:id/profile',\n    list: {\n      path: 'users',\n      query: {\n        count: 20,\n      },\n    },\n  },\n};\n```\n\nThe first one is like the previous ones, you would call it with just `'login'`; but the rest are nested inside users, so, for example, you would have to do `'users.profile'` to get the profile endpoint.\n\nThe last one, `list`, is not only nested, but it also an object with a `path` and a `query`, and it uses that format to be able to define a default query parameter: `count`.\n\nIf the implementation doesn't send a different value for `count`, the generated endpoint will always include `count=20`.\n\n#### Default headers\n\nBack to the client.\n\nLet's say you have a special header in your project that you need to be included on every request, well, you won't have to do it manually, nor overwrite `fetch`, as the client supports \"default headers\" from the constructor, or \"on runtime\":\n\n```ts\nconst client = apiClient({\n  fetchClient,\n  url: 'https://api.homer0.dev',\n  endpoints: {\n    profile: 'users/{{id}}/profile',\n  },\n  defaultHeaders: {\n    'x-development': true,\n  },\n});\n```\n\nWith that, all the requests will include a `x-development` header from the get go.\n\nBut if you have specific logic to enable/disable the header, you can use the `setDefaultHeaders` method:\n\n```ts\nif (something()) {\n  client.setDefaultHeaders({\n    'x-development': true,\n  });\n}\n```\n\n#### Bearer token\n\nIf you are working with an API that requires authorization on every request, and that provides you with a bearer token when you authenticate, you could set it on the client in order to automatically include the `Authorization` header on every request:\n\n```js\nclient.setAuthorizationToken('some-token');\n```\n\nDone, all the requests will include `Authorization: Bearer some-token`.\n\n#### Creating a service\n\nAs mentioned above, the idea of the client is to extend it and expose specific methods to interact with the API:\n\n```ts\nimport { APIClient } from '@homer0/api-utils';\nimport fetchClient from 'node-fetch';\n\ntype UserInfo = { id: number; name: string };\ntype UserProfile = { id: number; name: string; email: string; url: string };\n\nclass MyAPI extends APIClient {\n  constructor() {\n    super({\n      fetchClient,\n      url: 'https://api.homer0.dev',\n      endpoints: {\n        login: 'auth/login',\n        users: {\n          profile: 'users/:id/profile',\n          list: {\n            path: 'users',\n            query: {\n              count: 20,\n            },\n          },\n        },\n      },\n    });\n  }\n\n  login(username: string, password: string): Promise<UserInfo> {\n    return this.post<UserInfo>(this.endpoint('login'), { username, password });\n  }\n\n  getProfile(id: number): Promise<UserProfile> {\n    return this.get<UserProfile>(this.endpoint('users.profile', { id }));\n  }\n\n  getUsers(count?: number): Promise<UserProfile[]> {\n    return this.get<UserProfile[]>(this.endpoint('users.list', { count }));\n  }\n}\n```\n\nThen, your application can use `MyAPI` as a service.\n\n### 🤘 Development\n\nAs this project is part of the `packages` monorepo, some of the tooling, like `lint-staged` and `husky`, are installed on the root's `package.json`.\n\n#### Tasks\n\n| Task          | Description                         |\n| ------------- | ----------------------------------- |\n| `lint`        | Lints the package.                  |\n| `test`        | Runs the unit tests.                |\n| `build`       | Transpiles and bundles the project. |\n| `types:check` | Validates the TypeScript types.     |\n\n## Motivation\n\nThis used to be part of the [`wootils`](https://www.npmjs.com/package/wootils) package, my personal lib of utilities, but I decided to extract them into individual packages, as part of the `packages` monorepo, and take the oportunity to migrate them to TypeScript.\n\nNowadays there's almost no app that doesn't make requests to one or more external APIs, that's why I built this service.\n","readmeFilename":"README.md"}