{"_id":"@aylonarmstrong/the-one-sdk","_rev":"1-eabfb0fbf73748bc5b13b0f4dc85878b","name":"@aylonarmstrong/the-one-sdk","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@aylonarmstrong/the-one-sdk","version":"1.0.0","description":"An sdk for https://the-one-api.dev/ with nice typescript implementations to make the developer experience great","repository":{"type":"vcs","url":"github.com/beachman4/Aylon-Armstrong-SDK"},"main":"dist/index.js","module":"dist/index.js","types":"dist/index.d.ts","author":"","license":"ISC","dependencies":{"axios":"^0.27.2","hot-shots":"^9.2.0","retry-axios":"^2.6.0","tiny-typed-emitter":"^2.1.0"},"devDependencies":{"@types/jest":"^29.0.3","@types/jest-when":"^3.5.2","@types/node":"^18.7.18","dotenv":"^16.0.2","jest":"^29.0.3","jest-when":"^3.5.1","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-loader":"^9.4.1","typescript":"^4.8.3"},"jest":{"moduleFileExtensions":["js","json","ts"],"clearMocks":true,"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.ts$":"ts-jest"},"collectCoverageFrom":["**/*.ts"],"coverageDirectory":"../coverage","testEnvironment":"node"},"scripts":{"build":"rimraf ./dist && tsc","test":"jest --maxWorkers=4","test:coverage":"jest --maxWorkers=4 --coverage"},"_id":"@aylonarmstrong/the-one-sdk@1.0.0","_integrity":"sha512-MRJfKSo5ZvAKU6EQSrF0MEScl3iX0TlJ2I/8EplHVv5ZNiITcPgWPBWYH70spCUZufCxeIEfYcgtMI+M6FEYhA==","_resolved":"/tmp/55006b520c71b52aa9412c219f06a3d6/aylonarmstrong-the-one-sdk-1.0.0.tgz","_from":"file:aylonarmstrong-the-one-sdk-1.0.0.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-MRJfKSo5ZvAKU6EQSrF0MEScl3iX0TlJ2I/8EplHVv5ZNiITcPgWPBWYH70spCUZufCxeIEfYcgtMI+M6FEYhA==","shasum":"b8fb9eab531b612866df2e2fabb29878facbd2cc","tarball":"https://registry.npmjs.org/@aylonarmstrong/the-one-sdk/-/the-one-sdk-1.0.0.tgz","fileCount":82,"unpackedSize":43955,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4zTumjcVX/fOdODtLV/Wmg3CjDw6HnOJb0fNmlsOg0AiEA1KrOeqbjsNGNoOIQXNuchQ97vhq4ZpIvoBkImF15Kng="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNsckACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmop/w//ZnR0n9MzR0hnAsUW+qgjZcqiTocyaCXcCZCaRMJKNgylfIFf\r\nGjhDeLiWPLKR7kO4gaZPfLIIZTY6+22NhAMAHY4GrmFYQ8F5gIlH8kw1utHH\r\nExXc7SMd260tv1WxYY4pSYBGfPkMQs+4GaSamtCxII7wAreZHBVk7NfyXs7i\r\nGCqL0ndfe6DB8ijHgFdhx9iKfEM8YYUFd3CCS4IVNcFwizRO9uBBY+RgEskc\r\nmcqQT0ui/bk4V/0orhAbbTpmpGs9WeUOgr7ixAvPJwKQpGzv2d+sRH4yOil0\r\nYPtgtYUHIF8e6vC4LA/ivS1EkrG3ifg/PalU7jO/icsTPlkVVXrd/eTyc1CA\r\nerLh3vaNCnOBWOO6LQGpIorW4M0661AHFyQwDQFsXAIWGmeLgok58Jzf32CW\r\nWDsKugmMSznalfCSY+QtH8tqraO5oB1DJTjfgLT91aoJjPyTiQHHbm7RaiLb\r\ngSEJAkKQwkcCrxEbGWPD7pXuNyP1njofENLKaCLWdZ/lieH3m064pZTXS/Iv\r\nX4/rbvW+YfL3CWsqxzjuuwaDi2asI2GEzbXwhJZ8AtXZQyhBYI19ZvOyQFGK\r\nJluqT6c40dd+HmodWIBCB8QtjVTRN5aTolC2l3pyIrtDsJtzWT9r6hvG95s4\r\nIQjTYQhZ0OjA8JXThlijnRwp6EiaGKfOBm0=\r\n=NBm9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aylonarmstrong","email":"beachman19@gmail.com"},"directories":{},"maintainers":[{"name":"aylonarmstrong","email":"beachman19@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-one-sdk_1.0.0_1664534307914_0.7947200718914402"},"_hasShrinkwrap":false},"1.0.1":{"name":"@aylonarmstrong/the-one-sdk","version":"1.0.1","description":"An sdk for https://the-one-api.dev/ with nice typescript implementations to make the developer experience great","repository":{"type":"vcs","url":"github.com/beachman4/Aylon-Armstrong-SDK"},"main":"dist/index.js","module":"dist/index.js","types":"dist/index.d.ts","author":"","license":"ISC","dependencies":{"axios":"^0.27.2","hot-shots":"^9.2.0","retry-axios":"^2.6.0","tiny-typed-emitter":"^2.1.0"},"devDependencies":{"@types/jest":"^29.0.3","@types/jest-when":"^3.5.2","@types/node":"^18.7.18","dotenv":"^16.0.2","jest":"^29.0.3","jest-when":"^3.5.1","rimraf":"^3.0.2","ts-jest":"^29.0.3","ts-loader":"^9.4.1","typescript":"^4.8.3"},"jest":{"moduleFileExtensions":["js","json","ts"],"clearMocks":true,"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.ts$":"ts-jest"},"collectCoverageFrom":["**/*.ts"],"coverageDirectory":"../coverage","testEnvironment":"node"},"scripts":{"build":"rimraf ./dist && tsc","test":"jest --maxWorkers=4","test:coverage":"jest --maxWorkers=4 --coverage"},"_id":"@aylonarmstrong/the-one-sdk@1.0.1","_integrity":"sha512-V+rk/PMF5qvJT2FfDhJR58IWsTLj4Wfcw71ki8D3kZipQmz8K7ikU6BwlwnkGb2rnLcfSrpE3oKXlmliyhrkEw==","_resolved":"/tmp/62338376c38c0820efa5b1f2d27b5ab3/aylonarmstrong-the-one-sdk-1.0.1.tgz","_from":"file:aylonarmstrong-the-one-sdk-1.0.1.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-V+rk/PMF5qvJT2FfDhJR58IWsTLj4Wfcw71ki8D3kZipQmz8K7ikU6BwlwnkGb2rnLcfSrpE3oKXlmliyhrkEw==","shasum":"461ae91be36b9494d97b54d50c152b4e2a520007","tarball":"https://registry.npmjs.org/@aylonarmstrong/the-one-sdk/-/the-one-sdk-1.0.1.tgz","fileCount":82,"unpackedSize":43615,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWH6u/fBeiAXT2feQTo39eIMMUgHwKzrV2eWtKDi6z8QIgBY7UyV+TOvlEk1EAkiaYzFFzqMCFrNX7K7pFBfBfAtY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNsrDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5cQ//d3EwiCo++rrPBg9go2k9u+AKSjr48Uj7GRxsuAxQbYATvBta\r\ntHwBrMK52qorJWY9puD4Z52BOQuZLlZxmh5c7y+ui9n5dYoL56br2E3FDcuw\r\nJWer1T03NfiumphutPpQtPas7FpNH5qFdAYOCOFF5AKQwHa5gSaBmR12epLW\r\nzzJVLvYdtch1jPPttw/sHxf9V4mDn2qidIHUAp6n5d7db+/gS+x2nhGDVboT\r\nl8ib5Zl4JR6LKvcDjI9G2kxkcp4xy1DpZ5TwBo+NcvSYMdEEzk34BqbWFVfV\r\n9TVPxuRaAdHAwJaaZhvlKgQKGrtrckg34dRtqV6nZiFc26xOgnktRuiLmlig\r\nm9zoaMkf6fZ8er9txXaCGM40z9sTFRRRDkgVZRGn4LEdsSEeIrt2VFBkrgML\r\n6ui75CIKawUsT9pTuSdMIyivYvNRRIJ6Tn7NHn11CLdw1AtKTj1mRYl6IJzz\r\nqpHGmWJ3gwa8QtO+NEHMJ4yUSS1o5AdCwsVVSjVfPnMR2hdjU7jVtD34W19e\r\nZlBDjQrEQ2dpjIJUxPrxSY4nwHr2rom5g3Q4ZXv9xjonW1fqLpPu7QMtkpE+\r\nYr2FazEv2K2yFAx66wvzyjnEPXLPAMAYMVJc7YEVgHEh0QvtzOVipOmJ51Kw\r\ncIMs3l2cm49ONEiwbfEbqHaeNHkGrPtmOlk=\r\n=8xEq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aylonarmstrong","email":"beachman19@gmail.com"},"directories":{},"maintainers":[{"name":"aylonarmstrong","email":"beachman19@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/the-one-sdk_1.0.1_1664535235691_0.13473259876683175"},"_hasShrinkwrap":false}},"time":{"created":"2022-09-30T10:38:27.857Z","1.0.0":"2022-09-30T10:38:28.124Z","modified":"2022-09-30T10:53:55.950Z","1.0.1":"2022-09-30T10:53:55.859Z"},"maintainers":[{"name":"aylonarmstrong","email":"beachman19@gmail.com"}],"description":"An sdk for https://the-one-api.dev/ with nice typescript implementations to make the developer experience great","repository":{"type":"vcs","url":"github.com/beachman4/Aylon-Armstrong-SDK"},"license":"ISC","readme":"# The One SDK\n\nAn sdk for https://the-one-api.dev/ with nice typescript implementations to make the developer experience great\n\n## Installation\n\nInstall the package via npm(or your favorite package manager)\n\n```sh\nnpm install @aylonarmstrong/the-one-sdk -S\n#or\npnpm add @aylonarmstrong/the-one-sdk\n```\n\n## Usage\n\nThe package needs to be configured with the api key from the-one-api.dev.\n\n```typescript\nconst apiKey = process.env.API_KEY\n\nconst client = new Client(apiKey)\n\nawait client.characters.list()\n```\n\n### Usage with typescript\n\nUsing this package with typescript is where the real power comes from. There is typing and overloading for nearly every\nmethod.\n\n```typescript\nawait client.characters.list({\n  // 'name' is hinted in your ide\n  sort: new Sort('name')\n}, {\n  // 'name' is also hinted. Each key in the object `Character` is hinted with filters. The same goes for other resources\n  name: new RegexEquals(/^Gandalf/)\n})\n```\n\nCheck out the examples folder\n\n## Configuration\n\nThere are a few configuration options. You pass these as an object to the second parameter for `Client`\n\n| Option                | Default                   | Description                                                                                                                                                  |\n|-----------------------|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `baseUrl`             | `https://the-one-api.dev` | Host that requests are made to.                                                                                                                              |\n| `axiosOptions`        | null                      | You can use this to pass any options you would like the library to pass on to axios. This is helpful for attaching headers                                   |\n| `statsd`              | null                      | A collection of options to pass to the statsd library. Most of the options are from the [`hot-shots`](https://github.com/brightcove/hot-shots#usage) library |\n| `statsd.successMetric` | 'lotr-sdk.api-call'       | The metric that will be emitted when a successful request is made. `url` and `apiRequestName` are passed in as tags                                          |\n| `statsd.errorMetric`  | 'lotr-sdk.api-call.error'       | The metric that will be emitted when a request errors. `url`, `statusCode`, and `apiRequestName` are passed in as tags                                       |\n\n## Contributing\n\nWe use pnpm for our package manager so first things first is to install that:\n\n```sh\nnpm i -g pnpm\n```\n\nNext install the dependencies:\n\n```sh\npnpm install\n```\n\n## Tests\n\nTest are made with jest and you can run them like so\n\n```sh\n    pnpm run test\n```\n","readmeFilename":"README.md"}