{"_id":"datx-network","_rev":"40-8869aee1ac611022022e3dd60dc52242","name":"datx-network","dist-tags":{"beta":"2.0.0-beta.14","latest":"2.0.2"},"versions":{"2.0.0-beta.4":{"name":"datx-network","version":"2.0.0-beta.4","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.4","maintainers":[{"name":"darkokukovec","email":"darko@kukovec.eu"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"0d0ce949bafc6330024f203f61773a00ee0fd27a","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.4.tgz","fileCount":35,"integrity":"sha512-ysyg0FGQSy3+JiM+7uaA21V0fT3yD/eJURLIr8BFFUjy/cpqYoQEHIH1pSsS+Qt+bPDqbZMBevdjjrj0BTniWQ==","signatures":[{"sig":"MEUCICTGYTi+/5P3S7eTqNQO4LY0dA0IsU+kpN6Otnbxwt4wAiEA1lwHdwtp8I9bDTk2899q4go69Wu3jcpY+z9PWKGpaCc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfK7eZCRA9TVsSAnZWagAANTcP/0dpEQe/eruNrbbxh9y/\nrYoE1kbJhxpLoAIzmZwhF9k1Dl0wLuKajR080wgopQit2XgYfC1nG3aI+i0E\nzW7N8WvZ9ehyZmIAWgUeGMtOP5eqydzmCEzuRpu/uz1LSkR+wn8fau4OlF41\nUP8Ncdqza8gHSyoil8deviwPoNrLd1RnNcTRyUeFbRqzfsa/UGNT+5Yq12sB\nUno67tkLDPri9bcey1AUh+A4umZuHHLzVy2bXlh3+PYaXiw4ZZxi60cPV4n8\nNuU5eiT9BL7J1xFwY1Oqge4WuarQsinlKP/VE4QqVMg1/gTDN+rARp0Hxy5p\nTJ96DYT85+jTjKFZCUAEyPNYEjBuWSo4dGAEkzWfl6FCB9BpsGOZ3Mx/y3pF\nj7lnUNqs3k9H/ZIM5M1uG4W0cy8twK5gKXOpMedlbn28xZiO4vsI7Mz2LYrz\niSEk5BDTdCR8YWKAKjk29oeLtStozwWGpohyRdxdiehpnMbvXe0fZHIBZ5x2\nYCXisGpLsIvmPHFQ73+QT4Hb6ag1ukbdtBbKZ7UwbppCTRHWLCaeERxqCK6J\nOhrkvONtBrbJZ1o/9zY1oKFxb2bawbCUTD4v7ZAzG+jD5f31/uqW8HQw7nAK\n9O+SOab8L/F+MP/reEiLhFnx19k0/D4zrPcNj/fU0XE4EraAp7tYHIoER+yi\nA8SQ\r\n=1Rqu\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.0-beta.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.1.0","mobx":"^5.15.4","react":"^16.13.1","rollup":"^2.18.1","ts-jest":"^26.1.1","typescript":"^3.9.5","@types/jest":"^26.0.3","@types/node":"^14.0.14","@types/react":"^16.9.44","rollup-plugin-terser":"^6.1.0","@rollup/plugin-commonjs":"^13.0.0","rollup-plugin-typescript2":"^0.27.1","@rollup/plugin-node-resolve":"^8.1.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.10"},"peerDependencies":{"mobx":"^4.2.0 || ^5.5.0","react":"^16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.4_1596700569018_0.4737468839875498","host":"s3://npm-registry-packages"}},"2.0.0-beta.5":{"name":"datx-network","version":"2.0.0-beta.5","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.5","maintainers":[{"name":"darkokukovec","email":"darko@kukovec.eu"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"39559a1c0ab9f285759bcffdba3e066fb510bb28","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.5.tgz","fileCount":36,"integrity":"sha512-cweDiSGKH+1GR6FfqN8ItOIDRV91Ut3UhLeaV/BuhB4RKIZO8SZYX6mk0nP4Idf/vxqb4QKf8DrqpN/b+pxLfQ==","signatures":[{"sig":"MEUCIQCzplxKnu1gz7pC71SvCONZ3wgKUeBfdRlChWhELHTviwIgNBbaLYjoayD4/ssbQMBmofYkOtcprwiMh5XcSn8bhA0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMPOeCRA9TVsSAnZWagAA4pAP/3mZVGuoraJvX+vgNdwx\nf7DQjXQ120O/fTIT8QNL/So/QADigA7s0BuXmsIYdROnErb6enztwUBQxnfY\nRwMDJzR5LPpCZSaVo5SikqdyJBC32Pb8OLWSHyFIM9Drm6sKti1Gd2KB6CBX\nsykniT5wrMgHMo/R+Ml+0ZBAH2kN1jC35UFcMwL7609JEjyjpUyV63KHiOh8\nXRFpwx64lSuijUnYZHPdLJrFXeuTzBDRcstUfoxAh6Uxz4fxxTZ1tEJz8HUr\n09xV7xMVT/0ZTkR3YpPoG3qdyDdENp8kDqLnwMFl2vQfzAqLkX3W96t7/Y8O\nPepONwGLC2hEz9ThqrZtJ4J5aUExQc/gPK7Ij4qH1ULMZjidy0lmfq0q1HCv\nTCPNNCJuSRbnP5L2a6G4f5QRhRc0PB5Eiw3/WX1hLqTiGSbRgm+Co6qmoMQB\nWj/Rx7hXRUl3fm79QZKUTfTR383LPwX3nK1Ojwd8oUlI2TLAGGNt7wnugTA7\nRRXcf+XahA75slta2/9QFXmjDNioj6a+vBK+aLgiCIbBGJd0VJuSG8a4PdAC\n8VN0xQwb0eyGtwC34hjFpP81ZZoz64L/UgLVigOPZqBR0kdJeVuX+BBwwhpv\nHEIYMoPjQNCm8CZcoKFXZ5zoo3+YGp8x1odwRV5Npamqt/67VFGGU3Cu9UQv\n5U8c\r\n=UO1v\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","readme":"ERROR: No README data found!","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.0-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.1.0","mobx":"^5.15.4","react":"^16.13.1","rollup":"^2.18.1","ts-jest":"^26.1.1","typescript":"^3.9.5","@types/jest":"^26.0.3","@types/node":"^14.0.14","@types/react":"^16.9.44","rollup-plugin-terser":"^6.1.0","@rollup/plugin-commonjs":"^13.0.0","rollup-plugin-typescript2":"^0.27.1","@rollup/plugin-node-resolve":"^8.1.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.10"},"peerDependencies":{"mobx":"^4.2.0 || ^5.5.0","react":"^16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.5_1597043614023_0.14469825165471528","host":"s3://npm-registry-packages"}},"2.0.0-beta.6":{"name":"datx-network","version":"2.0.0-beta.6","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.6","maintainers":[{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"dingo-d","email":"denis.zoljom@gmail.com"},{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"infinumco","email":"accounts.npm@infinum.com"},{"name":"ivan.grginov","email":"ivan.grginov@infinum.hr"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"dd8540d1e9d88e9d3e26c417e3ffdfcebbf9987f","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.6.tgz","fileCount":36,"integrity":"sha512-OjAllAHAT4m8jsDP5cZeFb/43ZTiboEHEUceMeJwJesk17BHesa/RK68ekFoCZ2QzlimoJsREBpuxyQwIHzn9w==","signatures":[{"sig":"MEUCIGNSRg9INSuL4bPgNm8usKuq7RFgz4HFIBNoyMa4tl6oAiEAyTEjULbqLj2tNFoeUcScajvl39hmdFXRrScgaaQSN4c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNo5jCRA9TVsSAnZWagAAwlAP/0uqv+9KlUVWImqRbAxB\nd/DwCip16TLf4kxTr9n37y20rr/3WxPYDP+xKWlgXG2NeHYJUZg/XWInPM0T\nIk9xG84ZLD+0TkRhuABMvkCwcL2f67/gugKBMAwgUAuXiCuB4ovwqoATaDr8\njor6DiOOdqFyYy49OoRYwRTCqqmY036meHg13VvVtDOIK3z5CGzBVCAIxyeo\nYcoN/RvqXJqRCPV4xQBmJs00+lVH30N12FnpbrlYnvClwSwDJK5dmOW0JmR/\ngo3Or3FOU8sp2BpBWi0zmn0E3nSxYRhWSOrA4PsroCZJymVxIYJb9P5BTLK0\nHrNc9+A2Cn0S/AU/sW6bl6PKdSP/2xgIoisDttwl1M7D16WgsDGth2SS+hWG\nn4BdFn9aJtrqxZsfzaj5gASPkTl6CuIpk9AeHVROJ5LVYO5IiFx8oYVCnYcG\nyM3qdzHVR077FPfKLlkosUNHmMTTAUYUbyH44x6WSeA9j4XWEQYINTdonxEp\nW5IR6mAq/Ln2xI0sfE2Y4TFqp1zavmx6/BAa+SHIctMgwEzCU/NqK7tbJsMK\nWG5nrxzXQEYcnphyoR/bUPsJsf4J1Atg2PbVSokBGTIudf4FN3aPJ1UhQpHZ\nCwgREMENuwSOnF+u1N1HOHSkB33bjqfBR7j5Etc+lZXnNvhHcdndO4PYQEeF\nHm1y\r\n=o6O5\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","readme":"ERROR: No README data found!","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.0-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.1.0","mobx":"^5.15.4","react":"^16.13.1","rollup":"^2.18.1","ts-jest":"^26.1.1","typescript":"^3.9.5","@types/jest":"^26.0.3","@types/node":"^14.0.14","@types/react":"^16.9.44","rollup-plugin-terser":"^6.1.0","@rollup/plugin-commonjs":"^13.0.0","rollup-plugin-typescript2":"^0.27.1","@rollup/plugin-node-resolve":"^8.1.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.10"},"peerDependencies":{"mobx":"^4.2.0 || ^5.5.0","react":"^16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.6_1597410914973_0.4588999887129115","host":"s3://npm-registry-packages"}},"2.0.0-beta.7":{"name":"datx-network","version":"2.0.0-beta.7","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.7","maintainers":[{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"dingo-d","email":"denis.zoljom@gmail.com"},{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"infinumco","email":"accounts.npm@infinum.com"},{"name":"ivan.grginov","email":"ivan.grginov@infinum.hr"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"91a405eb1c113c7201a3397e3df5ff26fbec1c5b","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.7.tgz","fileCount":44,"integrity":"sha512-Hh8pei3hA+xxRh8ilJpwEsrZT1IMpbBcEgX6XmS3+p2I3WPqkj0A67fIoqN3R3df1zVHiV4TrrDw9mAABb2kfA==","signatures":[{"sig":"MEYCIQDHE/cVDrv84cZ2PX4OWGOmRaLIQeW/HeIeiblBPlEgBQIhAJSNINh9Ugu2q9hVyaCwfpO0JH4KR4sHUMQkJPIUuhFo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSQPXCRA9TVsSAnZWagAAnQoP/2apQoEc5WRhiv2EPLMF\nOIO3pzMt7mAtN1NCE7lNMMRrhDGcqN8gFEC9//pQrVvnsXfwdUPiE/bF3GMw\nQhZJRHZiAagiOzxnSC7wUltelk9MB7r9RFxcm4hAbNzAL8X0erC6BMa5E06/\nicK0eXvXkNqdlLq8iPTJ7rlqEDxMzAQ/hNRUDMcKj5qKBBnW7py19W/UAvbp\nKsJ6UCQ6IrJG4R5exDN0/l9dkvSl35uYUOFP7qDGjZDBjx72CWHy+Ia2VlZJ\n+wzkfSqAXd+l/gBTxkbYcD0LgxgJc7Kz2KhgSzCE2iTwSKHWscFjLVZI+f/G\nh4ud7VgYsEVcgw2oMn7D+bN5dooNySczAH/4zroofoX3I+ZJxskva4VwF6KK\nOFxu7CXh6wZuNLZFfri1Z1NKjkto1aF0EwkbMvTtOCkP0ql4XtZ/U4duE0Gv\nQDwbIOaBnt6WkDAZHOYQbREEqcLQ6nwiGc+OMgZFk7AowCkyaRRWbmO6svz5\nT8oQPX5HJeMccYGgdxvXhqbF9XGCJ5TFKiyNXlYa0P3Lsj9P6YFPGpJXGfQy\nStsDrwMmFTNV11MzkoJfau/R6uUmmRwT3e7dfBCYfwaIm2odlnNF9j6jGt2w\nPHeVJlnFm4cdR6rZwWJRaAlIdwHFvqJ00WnvltpzjXI7DGo4qYbmCSDTIGNC\nT7vy\r\n=HCjz\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","readme":"# datx-network\n\nDatX is an opinionated data store for use with the [MobX](https://mobx.js.org/) state management library. It features support for simple observable property definition, references to other models and first-class TypeScript support.\n\n`datx-network` is a datx mixin that adds a networking layer support. It can be used with any REST-like API and probably also other types of an API.\n\n---\n\n## Basic usage\n\n```tsx\nimport { Collection, Model, Attribute } from 'datx';\nimport { BaseRequest, collection, setUrl } from 'datx-network';\n\nclass Person extends Model {\n  public static type = 'person'; // Unique name of the model class\n\n  @Attribute()\n  public name: string; // A normal observable property without a default value\n\n  @Attribute()\n  public surname: string;\n\n  @Attribute({ toOne: Person })\n  public spouse?: Person; // A reference to a Person model\n\n  @computed\n  public get fullName() {\n    // Standard MobX computed props\n    return `${this.name} ${this.surname}`;\n  }\n}\n\nclass AppData extends Collection {\n  public static types = [Person]; // A list of models available in the collection\n}\n\nconst store = new AppData();\n\n// Create a base request with a basic configuration (baseUrl and linked collection)\nconst baseRequest = new BaseRequest('https://example.com').pipe(collection(store));\n\n// Create separate request points\nconst getPerson = baseRequest.pipe<Person>(setUrl('/people/{id}', Person));\nconst getPeople = baseRequest.pipe<Array<Person>>(setUrl('/people', Person));\n\n// Pure JS loading\nconst peopleResponse = await getPeople.fetch();\n\n// Loading in a React component\nconst PersonInfo = ({ userId }) => {\n  const [response, loading, error] = getPerson.useHook({ id: userId });\n\n  if (loading || error) {\n    return null;\n  }\n\n  const user = response.data;\n\n  return <div>{user.fullName}</div>;\n};\n```\n\n## Getting started\n\nNote: `datx-network` has a peer dependency to `mobx@^4.2.0` or `mobx@^5.5.0`, so don't forget to install the latest MobX version:\n\n```bash\nnpm install --save datx-network mobx\n```\n\n### Polyfilling\n\nThe lib makes use of the following features that are not yet available everywhere. Based on your browser support, you might want to polyfill them:\n\n- [Symbol.for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol)\n- [Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n- [Array.prototype.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n- [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n- [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\n[How to add the polyfills](https://datx.dev/docs/troubleshooting/known-issues#the-library-doesnt-work-in-internet-explorer-11).\nNote: Fetch API is not included in the polyfills mentioned in the Troubleshooting page. Instead, you need to add it as a separate library. If you don't have any special requirements (like server-side rendering), you can use the [window.fetch polyfill](https://github.com/github/fetch#installation).\n\n## API reference\n\n- [BaseRequest](https://datx.dev/docs/network/base-request)\n- [Response](https://datx.dev/docs/network/response)\n- [operators](https://datx.dev/docs/network/operators)\n- [caching](https://datx.dev/docs/network/caching)\n- [interceptors](https://datx.dev/docs/network/interceptors)\n- [parse/serialize](https://datx.dev/docs/network/parse-serialize)\n- [fetching](https://datx.dev/docs/network/fetching)\n- [TypeScript Interfaces](https://datx.dev/docs/network/typescript-interfaces)\n\n## Troubleshooting\n\nHaving issues with the library? Check out the [troubleshooting](https://datx.dev/docs/troubleshooting/known-issues) page or [open](https://github.com/infinum/datx/issues/new) an issue.\n\n---\n\n[![Build Status](https://travis-ci.org/infinum/datx.svg?branch=master)](https://travis-ci.org/infinum/datx)\n[![npm version](https://badge.fury.io/js/datx-network.svg)](https://badge.fury.io/js/datx-network)\n[![Dependency Status](https://david-dm.org/infinum/datx.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network)\n[![devDependency Status](https://david-dm.org/infinum/datx/dev-status.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network#info=devDependencies)\n\n## License\n\nThe [MIT License](LICENSE)\n\n## Credits\n\ndatx-network is maintained and sponsored by\n[Infinum](https://www.infinum.com).\n\n<img src=\"https://infinum.com/infinum.png\" width=\"264\">\n","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.0-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.1.0","mobx":"^5.15.4","react":"^16.13.1","rollup":"^2.18.1","ts-jest":"^26.1.1","typescript":"^3.9.5","@types/jest":"^26.0.3","@types/node":"^14.0.14","@types/react":"^16.9.44","rollup-plugin-terser":"^6.1.0","@rollup/plugin-commonjs":"^13.0.0","rollup-plugin-typescript2":"^0.27.1","@rollup/plugin-node-resolve":"^8.1.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.10"},"peerDependencies":{"mobx":"^4.2.0 || ^5.5.0","react":"^16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.7_1598620631124_0.9166723842619477","host":"s3://npm-registry-packages"}},"2.0.0-beta.8":{"name":"datx-network","version":"2.0.0-beta.8","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.8","maintainers":[{"name":"infinum","email":"accounts.npm@infinum.com"},{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"ivan.grginov","email":"ivan.grginov@infinum.hr"},{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"},{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"dingo-d","email":"denis.zoljom@gmail.com"},{"name":"infinumco","email":"ACcounts.npm@infinum.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"f9e52a1628dfe149a57daf7eb4dceb856898ad68","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.8.tgz","fileCount":44,"integrity":"sha512-b0hypYG5u9AnFzvCCo3AirkPJ4oq+7AxnTi+8RYtA+4sVtyup5ZTfNCQqbuQLIzziIy5dSJ2paqZ6pyOr9O6yw==","signatures":[{"sig":"MEYCIQDkIU+vVsw6kHfYOcOsNJPJoaM+dd0hGWfDNW4DeNVkVgIhALZJtVXshshffFsw0CT1v4ufTLRjwHJ4J3pZrMmc0Bls","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":98148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfb3duCRA9TVsSAnZWagAAkGoP/RHJGOGs9vzsZeCL8CW4\nqtLEKAHl5alh48vonkMBVn3OVHXJZIqll9cg2rpnvV7W2SPst3ch8/m9pkJ4\ne8KbLIN+LiSzpwteRXx+LqkaLBBvCyeqBJRyheBaVIHqj9YqrEiyzflvLUKP\n5U68BXWmM4jdddjOi27sM8V3qSKRHkANNjIVlV1bnr+hpUUz0x4guLK16+RK\nqNQnKbBx/2VBq+eVKEHDHwPUMYYSQCWjf74DPNk6mfMvN5IS1afv00ixxso6\n3O4EFClh92UjqWRWYROuo7yuR7jJMSSzacf1LHkQr6+0dQ8V+Og1SdhOQY98\nRPbPGys+Xd9QJ5tvMY02a7isbCF562Y/fBLtcJxwctAtheoA50oFxxEI1WUo\nu/HbLpu0aKa/w5+3c0nFEVcwJewvcck9KhVB9elxezLaTZ13GionOR+fvDHr\ndauOh07h0cCLXhVTduv0RVbdSrMABMpahnzCLLH8BJnSy28FMYjoXrjo//LD\n9zsxZYWW2q90+Hq0bGH2M2QbswKrzTv5dop0apRUeP1NglYkj9fwzQxS/WLR\nHUv+2dfJjAJXIv2V46wTA/OZHq1nK+3aW+ef4mMQFf9NtqRk8gn8Wf7SFM3S\nOAA2i3mlTE8P/4blxE30E0p0JEraAG6lYmv5CHCBvTc3D3ofxJfBEjL8c0fr\nNUZR\r\n=Bq3a\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","readme":"# datx-network\n\nDatX is an opinionated data store for use with the [MobX](https://mobx.js.org/) state management library. It features support for simple observable property definition, references to other models and first-class TypeScript support.\n\n`datx-network` is a datx mixin that adds a networking layer support. It can be used with any REST-like API and probably also other types of an API.\n\n---\n\n## Basic usage\n\n```tsx\nimport { Collection, Model, Attribute } from 'datx';\nimport { BaseRequest, collection, setUrl } from 'datx-network';\n\nclass Person extends Model {\n  public static type = 'person'; // Unique name of the model class\n\n  @Attribute()\n  public name: string; // A normal observable property without a default value\n\n  @Attribute()\n  public surname: string;\n\n  @Attribute({ toOne: Person })\n  public spouse?: Person; // A reference to a Person model\n\n  @computed\n  public get fullName() {\n    // Standard MobX computed props\n    return `${this.name} ${this.surname}`;\n  }\n}\n\nclass AppData extends Collection {\n  public static types = [Person]; // A list of models available in the collection\n}\n\nconst store = new AppData();\n\n// Create a base request with a basic configuration (baseUrl and linked collection)\nconst baseRequest = new BaseRequest('https://example.com').pipe(collection(store));\n\n// Create separate request points\nconst getPerson = baseRequest.pipe<Person>(setUrl('/people/{id}', Person));\nconst getPeople = baseRequest.pipe<Array<Person>>(setUrl('/people', Person));\n\n// Pure JS loading\nconst peopleResponse = await getPeople.fetch();\n\n// Loading in a React component\nconst PersonInfo = ({ userId }) => {\n  const [response, loading, error] = getPerson.useHook({ id: userId });\n\n  if (loading || error) {\n    return null;\n  }\n\n  const user = response.data;\n\n  return <div>{user.fullName}</div>;\n};\n```\n\n## Getting started\n\nNote: `datx-network` has a peer dependency to `mobx@^4.2.0` or `mobx@^5.5.0`, so don't forget to install the latest MobX version:\n\n```bash\nnpm install --save datx-network mobx\n```\n\n### Polyfilling\n\nThe lib makes use of the following features that are not yet available everywhere. Based on your browser support, you might want to polyfill them:\n\n- [Symbol.for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol)\n- [Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n- [Array.prototype.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n- [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n- [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\n[How to add the polyfills](https://datx.dev/docs/troubleshooting/known-issues#the-library-doesnt-work-in-internet-explorer-11).\nNote: Fetch API is not included in the polyfills mentioned in the Troubleshooting page. Instead, you need to add it as a separate library. If you don't have any special requirements (like server-side rendering), you can use the [window.fetch polyfill](https://github.com/github/fetch#installation).\n\n## API reference\n\n- [BaseRequest](https://datx.dev/docs/network/base-request)\n- [Response](https://datx.dev/docs/network/response)\n- [operators](https://datx.dev/docs/network/operators)\n- [caching](https://datx.dev/docs/network/caching)\n- [interceptors](https://datx.dev/docs/network/interceptors)\n- [parse/serialize](https://datx.dev/docs/network/parse-serialize)\n- [fetching](https://datx.dev/docs/network/fetching)\n- [TypeScript Interfaces](https://datx.dev/docs/network/typescript-interfaces)\n\n## Troubleshooting\n\nHaving issues with the library? Check out the [troubleshooting](https://datx.dev/docs/troubleshooting/known-issues) page or [open](https://github.com/infinum/datx/issues/new) an issue.\n\n---\n\n[![Build Status](https://travis-ci.org/infinum/datx.svg?branch=master)](https://travis-ci.org/infinum/datx)\n[![npm version](https://badge.fury.io/js/datx-network.svg)](https://badge.fury.io/js/datx-network)\n[![Dependency Status](https://david-dm.org/infinum/datx.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network)\n[![devDependency Status](https://david-dm.org/infinum/datx/dev-status.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network#info=devDependencies)\n\n## License\n\nThe [MIT License](LICENSE)\n\n## Credits\n\ndatx-network is maintained and sponsored by\n[Infinum](https://www.infinum.com).\n\n<img src=\"https://infinum.com/infinum.png\" width=\"264\">\n","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.0-beta.7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.1.0","mobx":"^5.15.4","react":"^16.13.1","rollup":"^2.18.1","ts-jest":"^26.1.1","typescript":"^3.9.5","@types/jest":"^26.0.3","@types/node":"^14.0.14","@types/react":"^16.9.44","rollup-plugin-terser":"^6.1.0","@rollup/plugin-commonjs":"^13.0.0","rollup-plugin-typescript2":"^0.27.1","@rollup/plugin-node-resolve":"^8.1.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.10"},"peerDependencies":{"mobx":"^4.2.0 || ^5.5.0","react":"^16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.8_1601140590205_0.8850433406142555","host":"s3://npm-registry-packages"}},"2.0.0-beta.9":{"name":"datx-network","version":"2.0.0-beta.9","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.9","maintainers":[{"name":"infinum","email":"accounts.npm@infinum.com"},{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"ivan.grginov","email":"ivan.grginov@infinum.hr"},{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"},{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"dingo-d","email":"denis.zoljom@gmail.com"},{"name":"infinumco","email":"ACcounts.npm@infinum.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"5e273d2ae7a1803afc9a6092006e7f34a4173731","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.9.tgz","fileCount":44,"integrity":"sha512-FbFz/n/kdTGmv2fEqRRj0AI//vDBn7LX7yumzrodA8FKzuCFsJEJBOOfeNXL1OjT/yAU2PeG7s3q4YoOmSZyXQ==","signatures":[{"sig":"MEYCIQDK1udIbc0C2C4lHta2E+Ih+r6sFcgQQ7GhU6kTEiELqgIhAPl0ed8J8GwWdcfb/aF5hHqXmv2w37oHGrcO5472oCcV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":98462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfesiKCRA9TVsSAnZWagAA/AEP/3ohcLiNNvzPmSjJAJ7D\nGy+bE3DmRZHhi7Y9jyvgHHt238QpHYdz2JBw3wYutag9Ct/SzlrxaqDybaQC\nBkCjtjjmtZ9P89UZjIS3qcuWUUxhlKtPgbRapmmp82abQMfj8PwoD6T5pX7R\nPqzhnWDi0xp45+cnbU7hydyonguWdQ870z1OA6cDd7GdJb5Ws0oUf47kJ8kz\nUbQJo3vm2Yc33z3nDBIZZfi5lOQ1bpqn2H8lMbWjbH1YXANBZp4Inu5RDqEu\nwyKlVuQDkvNlnDHcF+i6pd6/fBlRiQ/dVBGm/GTTO/pgBYm6FBj3/t5uETns\nC3rNlanOIuCQJ+3IsLCnOH2ktnKLVvHG0oUbBBW+g0ZBU5sG7/Cbj3O5zRLL\nMcdLXzkNJlQZNZdNlheiyTULNI3lKi94keMqNo5dC15ZazRUnsn/ZjnEW0Zy\ndzRlHNVb03vamaBZ0jy6O9vKXRI4JutnYGsIUXExJd73OdFDEBcB/UU+nGmb\ngCMZuKa7LvzYzn3xrUN+4mrBVud51SVhWTZ4kqzTVg8U44jdNqMwCX4Tv3EQ\ncxqfHHaYXKAk/xuZ7/WW+uGvSXUlEM6k436l0UUjsCyPEBhmuSth06s1L7B7\nyANXHsHK9FISF97t30cLyOqmHmfZa59g25MUMvwK3I5CLElJn4E2satjI4x5\ntb/Y\r\n=JVWk\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","readme":"# datx-network\n\nDatX is an opinionated data store for use with the [MobX](https://mobx.js.org/) state management library. It features support for simple observable property definition, references to other models and first-class TypeScript support.\n\n`datx-network` is a datx mixin that adds a networking layer support. It can be used with any REST-like API and probably also other types of an API.\n\n---\n\n## Basic usage\n\n```tsx\nimport { Collection, Model, Attribute } from 'datx';\nimport { BaseRequest, collection, setUrl } from 'datx-network';\n\nclass Person extends Model {\n  public static type = 'person'; // Unique name of the model class\n\n  @Attribute()\n  public name: string; // A normal observable property without a default value\n\n  @Attribute()\n  public surname: string;\n\n  @Attribute({ toOne: Person })\n  public spouse?: Person; // A reference to a Person model\n\n  @computed\n  public get fullName() {\n    // Standard MobX computed props\n    return `${this.name} ${this.surname}`;\n  }\n}\n\nclass AppData extends Collection {\n  public static types = [Person]; // A list of models available in the collection\n}\n\nconst store = new AppData();\n\n// Create a base request with a basic configuration (baseUrl and linked collection)\nconst baseRequest = new BaseRequest('https://example.com').pipe(collection(store));\n\n// Create separate request points\nconst getPerson = baseRequest.pipe<Person>(setUrl('/people/{id}', Person));\nconst getPeople = baseRequest.pipe<Array<Person>>(setUrl('/people', Person));\n\n// Pure JS loading\nconst peopleResponse = await getPeople.fetch();\n\n// Loading in a React component\nconst PersonInfo = ({ userId }) => {\n  const [response, loading, error] = getPerson.useHook({ id: userId });\n\n  if (loading || error) {\n    return null;\n  }\n\n  const user = response.data;\n\n  return <div>{user.fullName}</div>;\n};\n```\n\n## Getting started\n\nNote: `datx-network` has a peer dependency to `mobx@^4.2.0` or `mobx@^5.5.0`, so don't forget to install the latest MobX version:\n\n```bash\nnpm install --save datx-network mobx\n```\n\n### Polyfilling\n\nThe lib makes use of the following features that are not yet available everywhere. Based on your browser support, you might want to polyfill them:\n\n- [Symbol.for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol)\n- [Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n- [Array.prototype.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n- [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n- [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\n[How to add the polyfills](https://datx.dev/docs/troubleshooting/known-issues#the-library-doesnt-work-in-internet-explorer-11).\nNote: Fetch API is not included in the polyfills mentioned in the Troubleshooting page. Instead, you need to add it as a separate library. If you don't have any special requirements (like server-side rendering), you can use the [window.fetch polyfill](https://github.com/github/fetch#installation).\n\n## API reference\n\n- [BaseRequest](https://datx.dev/docs/network/base-request)\n- [Response](https://datx.dev/docs/network/response)\n- [operators](https://datx.dev/docs/network/operators)\n- [caching](https://datx.dev/docs/network/caching)\n- [interceptors](https://datx.dev/docs/network/interceptors)\n- [parse/serialize](https://datx.dev/docs/network/parse-serialize)\n- [fetching](https://datx.dev/docs/network/fetching)\n- [TypeScript Interfaces](https://datx.dev/docs/network/typescript-interfaces)\n\n## Troubleshooting\n\nHaving issues with the library? Check out the [troubleshooting](https://datx.dev/docs/troubleshooting/known-issues) page or [open](https://github.com/infinum/datx/issues/new) an issue.\n\n---\n\n[![Build Status](https://travis-ci.org/infinum/datx.svg?branch=master)](https://travis-ci.org/infinum/datx)\n[![npm version](https://badge.fury.io/js/datx-network.svg)](https://badge.fury.io/js/datx-network)\n[![Dependency Status](https://david-dm.org/infinum/datx.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network)\n[![devDependency Status](https://david-dm.org/infinum/datx/dev-status.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network#info=devDependencies)\n\n## License\n\nThe [MIT License](LICENSE)\n\n## Credits\n\ndatx-network is maintained and sponsored by\n[Infinum](https://www.infinum.com).\n\n<img src=\"https://infinum.com/infinum.png\" width=\"264\">\n","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.0-beta.7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.4.2","mobx":"^6.0.0","react":"^16.13.1","rollup":"^2.28.2","ts-jest":"^26.4.1","typescript":"^4.0.3","@types/jest":"^26.0.14","@types/node":"^14.11.2","@types/react":"^16.9.50","rollup-plugin-terser":"^7.0.2","@rollup/plugin-commonjs":"^15.1.0","rollup-plugin-typescript2":"^0.27.3","@rollup/plugin-node-resolve":"^9.0.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.13"},"peerDependencies":{"mobx":"^4.2.0 || ^5.5.0 || ^6.0.0","react":"^16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.9_1601882250331_0.3453681985015482","host":"s3://npm-registry-packages"}},"2.0.0-beta.10":{"name":"datx-network","version":"2.0.0-beta.10","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.10","maintainers":[{"name":"infinum","email":"accounts.npm@infinum.com"},{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"ivan.grginov","email":"ivan.grginov@infinum.hr"},{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"},{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"dingo-d","email":"denis.zoljom@gmail.com"},{"name":"infinumco","email":"ACcounts.npm@infinum.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"4dedc0116a0b593cd6f11386e54d56ca8e1e97c3","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.10.tgz","fileCount":44,"integrity":"sha512-QOL/5qiBC6xWi+ClIchYEN30ivA5skW9V8XTJyifmrmez0W4tgarHaA5o2E/5zkm9CAyj4jeBAx5Sc00pLv3kw==","signatures":[{"sig":"MEUCIEV12F3DDmfJnKf/goETeJfejN202nqiO3QmIzApxYsJAiEAqLLnB1aWup7Kxq3jB+OgbejNMYSCmlMKNY4n+O29+IM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrDzFCRA9TVsSAnZWagAAiK8QAKKpR2rp7Qa8PLVwpw4K\nL03AumCA/3r4muzeuJkYrgDB/ihS3y2xZPsvfIj1WjIBh3HuB3lE0X9RRiYW\nyJvoJcgXZ0ETzb6mZrDXzLkfUZL8nMHajxOBOKC0nWEOFy0Y+ESPqbPQaFoD\nENOWv+rykaLKtRZnOHAZ5ONxAamnkwsgXKfk5/AIRTz9RO8CSOvrLrLptDFL\nEerfI2+utFDzYskCE59h48LaXpDR/05vuQ4euip+PjLS3Koc2KWx2G3T0nIW\nWsbXUGqbJFgHEngaG+8KUEVd0NEnV9L0RcbnbPMRO/Ow1rccV+7IDMykHYel\n/0B5ebKGNYYvH7g5SrexWyN0tad7NWNzHUGBgJ5XgnAnf6vxSodYHuRLEAn5\nNCfUKzlgGzIWkcIOVS6fUNIdy1VpiyT2wsE0dW59Uf1JabQBOiehXIIAlJtp\nEHpGMoXhVlwWY+NDnejOurl75LvgMQMkb1Xd4pD1n+rFBtzEwYyKe8RXYzG+\nm1kG+xpSBvvk1RZzsHEXec7AqtC3eRIdvO64PH+mJ2a+4SREJN0BBy5FvcZZ\nmE6qF2nxhhpzWF0YbWt/HkK+/AI81ngAduSdGi+PLjwlRVKc1kfxM8BZ5GKD\npTHKlTddaTxA4L80/evGMXx07MpLJ2sVodBcFCVJ52vRouEhJ9yONCenvUzv\niW7D\r\n=vmwr\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.8","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"12.19.0","dependencies":{"datx":"^2.0.0-beta.8"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","mobx":"^6.0.0","rollup":"^2.28.2","ts-jest":"^26.4.1","typescript":"^4.0.3","@types/jest":"^26.0.14","@types/node":"^14.11.2","@types/react":"^16.9.50","rollup-plugin-terser":"^7.0.2","@rollup/plugin-commonjs":"^15.1.0","rollup-plugin-typescript2":"^0.27.3","@rollup/plugin-node-resolve":"^9.0.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.13"},"peerDependencies":{"mobx":"^4.2.0 || ^5.5.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.10_1605123268446_0.9508320341086571","host":"s3://npm-registry-packages"}},"2.0.0-beta.11":{"name":"datx-network","version":"2.0.0-beta.11","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.11","maintainers":[{"name":"infinum","email":"accounts.npm@infinum.com"},{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"ivan.grginov","email":"ivan.grginov@infinum.hr"},{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"},{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"dingo-d","email":"denis.zoljom@gmail.com"},{"name":"infinumco","email":"ACcounts.npm@infinum.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"67972b29a3f337125ca9ec9675da28979ee82558","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.11.tgz","fileCount":44,"integrity":"sha512-oAvICVy0yYNDg0tjTlpgLKoPmGhn/wDqWFwV3CL75IcEXhJGklKTSF4G5JcIuSbyxRfl9pLHvjVymaSHsBWyuQ==","signatures":[{"sig":"MEYCIQD7QBdSU7jDvbimER7KhaLEKBSbB+JQd/oDlNZQWJc5NQIhAOxgTg86DY3omm/lecRld5ASSqDmRjt+f3TNl7ciY/Kn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104704,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJft33UCRA9TVsSAnZWagAAZzoP/j4hHwi1RX5FWOy3oJfH\nqBwzl4eLMoCsqoEZUAkx1BAJTAl3Hub5F+rTX5Oqwdw1/StLHgkPggly6ij5\n0iF0/u90IZXpJQQDD1xnLpaPRn/Vj2dzrdcstHxZ+37jmdV+zo70v4avBvEC\nkQ509Derxyu436UksdcDMeL/kOdLsYl3SSvC+He06ehral2DqzcJxfXX2tVj\nZFAHgChaVYpYXhIh0gR4Q5JnaYu1SbIJqoQ5VTT1XXijilPJJe6caPmC7pvP\nwPchogT3gxWwH+Twgmixv+k41YQj2+9KyEgpZAAQS03UkdStRl7J+RZtMepn\nKHwq3CnsyodkZQgi02VCPsWfAXZ36YxaTWbD48NwCG0ZFMUeSepcRCIevMBe\nXc3eRz3RIu0QVlXVj3/Gkk20AdxIK4GyAcLbrdRAiaq/L0k7m1NOtB516iDd\n+CpW9mDQQPGQzvpKq0MPkQnUsOm82ZADxkAKGuw2DGvnYE9bVb1QXbKfr/av\nsJL/iK8pdhl0eQDpp1yxEPi67N3uPizuiJuIX9hBDx7fHFCQ4Ey5cXccSXuf\nhLlMBDddrTNWuM6/15kUoF7V2W8rmIcWDivsASd9v/sCfzH4/e8iOT3Qu5u9\npPiqqjZMMG/TGuBDhbi3Dnd3AiwipqgSMu+0rtPxGKrvLoWaLJt6JRAvAPGC\nPnRw\r\n=nf6y\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","readme":"# datx-network\n\nDatX is an opinionated data store for use with the [MobX](https://mobx.js.org/) state management library. It features support for simple observable property definition, references to other models and first-class TypeScript support.\n\n`datx-network` is a datx mixin that adds a networking layer support. It can be used with any REST-like API and probably also other types of an API.\n\n---\n\n## Basic usage\n\n```tsx\nimport { Collection, Model, Attribute } from 'datx';\nimport { BaseRequest, collection, setUrl } from 'datx-network';\n\nclass Person extends Model {\n  public static type = 'person'; // Unique name of the model class\n\n  @Attribute()\n  public name: string; // A normal observable property without a default value\n\n  @Attribute()\n  public surname: string;\n\n  @Attribute({ toOne: Person })\n  public spouse?: Person; // A reference to a Person model\n\n  @computed\n  public get fullName() {\n    // Standard MobX computed props\n    return `${this.name} ${this.surname}`;\n  }\n}\n\nclass AppData extends Collection {\n  public static types = [Person]; // A list of models available in the collection\n}\n\nconst store = new AppData();\n\n// Create a base request with a basic configuration (baseUrl and linked collection)\nconst baseRequest = new BaseRequest('https://example.com').pipe(collection(store));\n\n// Create separate request points\nconst getPerson = baseRequest.pipe<Person>(setUrl('/people/{id}', Person));\nconst getPeople = baseRequest.pipe<Array<Person>>(setUrl('/people', Person));\n\n// Pure JS loading\nconst peopleResponse = await getPeople.fetch();\n\n// Loading in a React component\nconst PersonInfo = ({ userId }) => {\n  const [response, loading, error] = getPerson.useHook({ id: userId });\n\n  if (loading || error) {\n    return null;\n  }\n\n  const user = response.data;\n\n  return <div>{user.fullName}</div>;\n};\n```\n\n## Getting started\n\nNote: `datx-network` has a peer dependency to `mobx@^4.2.0` or `mobx@^5.5.0`, so don't forget to install the latest MobX version:\n\n```bash\nnpm install --save datx-network mobx\n```\n\n### Polyfilling\n\nThe lib makes use of the following features that are not yet available everywhere. Based on your browser support, you might want to polyfill them:\n\n- [Symbol.for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol)\n- [Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n- [Array.prototype.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n- [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n- [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\n[How to add the polyfills](https://datx.dev/docs/troubleshooting/known-issues#the-library-doesnt-work-in-internet-explorer-11).\nNote: Fetch API is not included in the polyfills mentioned in the Troubleshooting page. Instead, you need to add it as a separate library. If you don't have any special requirements (like server-side rendering), you can use the [window.fetch polyfill](https://github.com/github/fetch#installation).\n\n## API reference\n\n- [BaseRequest](https://datx.dev/docs/network/base-request)\n- [Response](https://datx.dev/docs/network/response)\n- [operators](https://datx.dev/docs/network/operators)\n- [caching](https://datx.dev/docs/network/caching)\n- [interceptors](https://datx.dev/docs/network/interceptors)\n- [parse/serialize](https://datx.dev/docs/network/parse-serialize)\n- [fetching](https://datx.dev/docs/network/fetching)\n- [TypeScript Interfaces](https://datx.dev/docs/network/typescript-interfaces)\n\n## Troubleshooting\n\nHaving issues with the library? Check out the [troubleshooting](https://datx.dev/docs/troubleshooting/known-issues) page or [open](https://github.com/infinum/datx/issues/new) an issue.\n\n---\n\n[![Build Status](https://travis-ci.org/infinum/datx.svg?branch=master)](https://travis-ci.org/infinum/datx)\n[![npm version](https://badge.fury.io/js/datx-network.svg)](https://badge.fury.io/js/datx-network)\n[![Dependency Status](https://david-dm.org/infinum/datx.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network)\n[![devDependency Status](https://david-dm.org/infinum/datx/dev-status.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network#info=devDependencies)\n\n## License\n\nThe [MIT License](LICENSE)\n\n## Credits\n\ndatx-network is maintained and sponsored by\n[Infinum](https://www.infinum.com).\n\n<img src=\"https://infinum.com/infinum.png\" width=\"264\">\n","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.0-beta.7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.4.2","rollup":"^2.28.2","ts-jest":"^26.4.1","typescript":"^4.0.3","@types/jest":"^26.0.14","@types/node":"^14.11.2","@types/react":"^16.9.50","rollup-plugin-terser":"^7.0.2","@rollup/plugin-commonjs":"^15.1.0","rollup-plugin-typescript2":"^0.27.3","@rollup/plugin-node-resolve":"^9.0.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.13"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.11_1605860819879_0.8403637601112974","host":"s3://npm-registry-packages"}},"2.0.0-beta.12":{"name":"datx-network","version":"2.0.0-beta.12","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.12","maintainers":[{"name":"infinum","email":"accounts.npm@infinum.com"},{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"ivan.grginov","email":"ivan.grginov@infinum.hr"},{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"},{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"dingo-d","email":"denis.zoljom@gmail.com"},{"name":"infinumco","email":"ACcounts.npm@infinum.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"3db1d04b3a25aa12b10a391600d00873d30b3dc3","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.12.tgz","fileCount":44,"integrity":"sha512-aSzyIZHk1Oao/N7GVE9dmhyLYu8DsrscTn4wOVEJJ73esfbDAlUS96h4aGZi5mh/JeU8DDsuhHDeGta3piZT6w==","signatures":[{"sig":"MEUCIGwKqsIwYirulCEoiJ76HzNeAEBafYq5zKcwcbjWC1j5AiEA3TeoWM5NZMt09PdeobLjcdg5V4SKf8iCNSAiJCnE7nA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfukB/CRA9TVsSAnZWagAAzAAP/0HhpUmYi4kXyqLgxgaq\nL/1ddyInZl+1NjEF1eTlzur3H4Y06CPrBRfd4z0iYulHu1LWNw+laBDe7zGG\nkQZ+KNoeY1Q3wf5QjCuUWuo1NvOUdsMxOiplRZwo04jsvVdhSZ4v3ogi4bzI\njaGidd2T458roSUeDm9nemyoo+jZ5fioh9Ncluxcdb441bQ8dJc0VghwROP0\nkdSsoth0Tky2cG4z4yHpsRsYs4kNcOqXr8SYba9KM+en6lVgNK10HCDxl6l8\nf/6xhmF3W1LsaRW2QXXEQ7d2/8AmclLZujPkkJijtlpqsW8q8/323PiMeFfy\nOeJsd4oRqlV8r41n45GDmwEN1jBo8VdKbb37FCQWrz5wCVkzPb7yz6s/pMrK\nDtiqkYTCVT5N+2dU+VrYt36upMxym0riaBb7kOnJo+hppio63X3mp5jBzCjE\nAbo2r2Ws8VR5Ev9soRHP41EXlL1bbWLYAy4J8JEvdsHTpqOr8zseB36g36/G\nBZMyxuZ2VNL5Yh08HjVc4d5I/2lyY1E0O36l1TfLDTRwCGF8j/t8579FQiOA\nfK21CjSlQLP0xHwbmJpCTf4uaTmDV6+thpVxDTXycB4p5+zms1w6YwuKcFhM\nDlgN2sG5zkvwZcWGXRG1HkIASKHZ1J3EgEudqbhuuPhzMLbaeh+sNm0kNVRB\nJeRh\r\n=qvDa\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","readme":"# datx-network\n\nDatX is an opinionated data store for use with the [MobX](https://mobx.js.org/) state management library. It features support for simple observable property definition, references to other models and first-class TypeScript support.\n\n`datx-network` is a datx mixin that adds a networking layer support. It can be used with any REST-like API and probably also other types of an API.\n\n---\n\n## Basic usage\n\n```tsx\nimport { Collection, Model, Attribute } from 'datx';\nimport { BaseRequest, collection, setUrl } from 'datx-network';\n\nclass Person extends Model {\n  public static type = 'person'; // Unique name of the model class\n\n  @Attribute()\n  public name: string; // A normal observable property without a default value\n\n  @Attribute()\n  public surname: string;\n\n  @Attribute({ toOne: Person })\n  public spouse?: Person; // A reference to a Person model\n\n  @computed\n  public get fullName() {\n    // Standard MobX computed props\n    return `${this.name} ${this.surname}`;\n  }\n}\n\nclass AppData extends Collection {\n  public static types = [Person]; // A list of models available in the collection\n}\n\nconst store = new AppData();\n\n// Create a base request with a basic configuration (baseUrl and linked collection)\nconst baseRequest = new BaseRequest('https://example.com').pipe(collection(store));\n\n// Create separate request points\nconst getPerson = baseRequest.pipe<Person>(setUrl('/people/{id}', Person));\nconst getPeople = baseRequest.pipe<Array<Person>>(setUrl('/people', Person));\n\n// Pure JS loading\nconst peopleResponse = await getPeople.fetch();\n\n// Loading in a React component\nconst PersonInfo = ({ userId }) => {\n  const [response, loading, error] = getPerson.useHook({ id: userId });\n\n  if (loading || error) {\n    return null;\n  }\n\n  const user = response.data;\n\n  return <div>{user.fullName}</div>;\n};\n```\n\n## Getting started\n\nNote: `datx-network` has a peer dependency to `mobx@^4.2.0` or `mobx@^5.5.0`, so don't forget to install the latest MobX version:\n\n```bash\nnpm install --save datx-network mobx\n```\n\n### Polyfilling\n\nThe lib makes use of the following features that are not yet available everywhere. Based on your browser support, you might want to polyfill them:\n\n- [Symbol.for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol)\n- [Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n- [Array.prototype.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n- [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n- [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\n[How to add the polyfills](https://datx.dev/docs/troubleshooting/known-issues#the-library-doesnt-work-in-internet-explorer-11).\nNote: Fetch API is not included in the polyfills mentioned in the Troubleshooting page. Instead, you need to add it as a separate library. If you don't have any special requirements (like server-side rendering), you can use the [window.fetch polyfill](https://github.com/github/fetch#installation).\n\n## API reference\n\n- [BaseRequest](https://datx.dev/docs/network/base-request)\n- [Response](https://datx.dev/docs/network/response)\n- [operators](https://datx.dev/docs/network/operators)\n- [caching](https://datx.dev/docs/network/caching)\n- [interceptors](https://datx.dev/docs/network/interceptors)\n- [parse/serialize](https://datx.dev/docs/network/parse-serialize)\n- [fetching](https://datx.dev/docs/network/fetching)\n- [TypeScript Interfaces](https://datx.dev/docs/network/typescript-interfaces)\n\n## Troubleshooting\n\nHaving issues with the library? Check out the [troubleshooting](https://datx.dev/docs/troubleshooting/known-issues) page or [open](https://github.com/infinum/datx/issues/new) an issue.\n\n---\n\n[![Build Status](https://travis-ci.org/infinum/datx.svg?branch=master)](https://travis-ci.org/infinum/datx)\n[![npm version](https://badge.fury.io/js/datx-network.svg)](https://badge.fury.io/js/datx-network)\n[![Dependency Status](https://david-dm.org/infinum/datx.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network)\n[![devDependency Status](https://david-dm.org/infinum/datx/dev-status.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network#info=devDependencies)\n\n## License\n\nThe [MIT License](LICENSE)\n\n## Credits\n\ndatx-network is maintained and sponsored by\n[Infinum](https://www.infinum.com).\n\n<img src=\"https://infinum.com/infinum.png\" width=\"264\">\n","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.0-beta.12"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.4.2","rollup":"^2.28.2","ts-jest":"^26.4.1","typescript":"^4.0.3","@types/jest":"^26.0.14","@types/node":"^14.11.2","@types/react":"^16.9.50","rollup-plugin-terser":"^7.0.2","@rollup/plugin-commonjs":"^15.1.0","rollup-plugin-typescript2":"^0.27.3","@rollup/plugin-node-resolve":"^9.0.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.13"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.12_1606041726805_0.12773626516547942","host":"s3://npm-registry-packages"}},"2.0.0-beta.13":{"name":"datx-network","version":"2.0.0-beta.13","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.13","maintainers":[{"name":"infinum","email":"accounts.npm@infinum.com"},{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"ivan.grginov","email":"ivan.grginov@infinum.hr"},{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"},{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"dingo-d","email":"denis.zoljom@gmail.com"},{"name":"infinumco","email":"ACcounts.npm@infinum.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"7584ed4c250aa51305d00ca2e088db2aa59fde4f","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.13.tgz","fileCount":44,"integrity":"sha512-dciLYzZG4SwT5+yy6L3pIo/RfWWPZYJq9Nd0qT7NY8/6hrckW0O2+66kAisqyZa3SqSCXizIHbTmFBjH8avhWA==","signatures":[{"sig":"MEYCIQCapc/mJCb1Q+4IfPTCuxOId6wOPCx0u8snf5JPqhdOZAIhAIu5XkXy7aKRTaoY5hIyVyFGj4BKkiexHcKk9mbscoEw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfukj9CRA9TVsSAnZWagAAmY8P/0ybTiBjZU/dpJmU+hM7\nRbGyWM7LhIGVesOVP+WxB7D9SmU9Quce5G+RqjNgw58lgpJKXqBQ0IvmOFz5\nlmozF1M7WqhViS291PHruKiv5FQ9aLUW05+o/lub+v+U07x4k24OkKkalCZv\niqCau6wPG5SC3N1iSlDqBBmExAdccO4iOgTNqAXxcri9q+xjvssVljxIQe3z\nRZfkJSazvCsCnWJAxcAXeuky81oZS2Av6/MPXJdl+UKlTeRWDVF2apJJBq8z\nhp2Tn5mXUq2JTVVbEUrW/WP3pnMjL2pKHPGpD9woXQeS/PSGyh6ZMBlp2bo8\n+yPZqVP8VcjWb4Be02a3S2JNLVeh3S29DoZhwjdpzzZGl/JVeN4sQ/gNupqe\nIB1im0O7qywTMfFBCoOgPxkAXRbV7krtR3cf7qvfpuEJt1/Cy1HvB1l+ASA3\nRW6dQC77FirLkIlBL0zSLQe7WLTcdUWr+kznm7M892TH53I0nwxu0FFL6UKt\nYuxNdvHmDrzGwMFUteX/p3/Z8U33cH/11OwJ4rpHOMEnCSolYSl1aaFSINhS\nmIqvWEvlDRcGAUEz+HTURuQOSd/v07uHkp2dXzEjz8nedh9LF0/V7fYOkRR7\nqtqSvyiS4XVpuz5D7n7+AEL30ugk4Ac3U62i4RmNqeA/riYYR51Y/cIHvyJl\nfL0h\r\n=QiBn\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","readme":"# datx-network\n\nDatX is an opinionated data store for use with the [MobX](https://mobx.js.org/) state management library. It features support for simple observable property definition, references to other models and first-class TypeScript support.\n\n`datx-network` is a datx mixin that adds a networking layer support. It can be used with any REST-like API and probably also other types of an API.\n\n---\n\n## Basic usage\n\n```tsx\nimport { Collection, Model, Attribute } from 'datx';\nimport { BaseRequest, collection, setUrl } from 'datx-network';\n\nclass Person extends Model {\n  public static type = 'person'; // Unique name of the model class\n\n  @Attribute()\n  public name: string; // A normal observable property without a default value\n\n  @Attribute()\n  public surname: string;\n\n  @Attribute({ toOne: Person })\n  public spouse?: Person; // A reference to a Person model\n\n  @computed\n  public get fullName() {\n    // Standard MobX computed props\n    return `${this.name} ${this.surname}`;\n  }\n}\n\nclass AppData extends Collection {\n  public static types = [Person]; // A list of models available in the collection\n}\n\nconst store = new AppData();\n\n// Create a base request with a basic configuration (baseUrl and linked collection)\nconst baseRequest = new BaseRequest('https://example.com').pipe(collection(store));\n\n// Create separate request points\nconst getPerson = baseRequest.pipe<Person>(setUrl('/people/{id}', Person));\nconst getPeople = baseRequest.pipe<Array<Person>>(setUrl('/people', Person));\n\n// Pure JS loading\nconst peopleResponse = await getPeople.fetch();\n\n// Loading in a React component\nconst PersonInfo = ({ userId }) => {\n  const [response, loading, error] = getPerson.useHook({ id: userId });\n\n  if (loading || error) {\n    return null;\n  }\n\n  const user = response.data;\n\n  return <div>{user.fullName}</div>;\n};\n```\n\n## Getting started\n\nNote: `datx-network` has a peer dependency to `mobx@^4.2.0` or `mobx@^5.5.0`, so don't forget to install the latest MobX version:\n\n```bash\nnpm install --save datx-network mobx\n```\n\n### Polyfilling\n\nThe lib makes use of the following features that are not yet available everywhere. Based on your browser support, you might want to polyfill them:\n\n- [Symbol.for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol)\n- [Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n- [Array.prototype.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n- [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n- [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\n[How to add the polyfills](https://datx.dev/docs/troubleshooting/known-issues#the-library-doesnt-work-in-internet-explorer-11).\nNote: Fetch API is not included in the polyfills mentioned in the Troubleshooting page. Instead, you need to add it as a separate library. If you don't have any special requirements (like server-side rendering), you can use the [window.fetch polyfill](https://github.com/github/fetch#installation).\n\n## API reference\n\n- [BaseRequest](https://datx.dev/docs/network/base-request)\n- [Response](https://datx.dev/docs/network/response)\n- [operators](https://datx.dev/docs/network/operators)\n- [caching](https://datx.dev/docs/network/caching)\n- [interceptors](https://datx.dev/docs/network/interceptors)\n- [parse/serialize](https://datx.dev/docs/network/parse-serialize)\n- [fetching](https://datx.dev/docs/network/fetching)\n- [TypeScript Interfaces](https://datx.dev/docs/network/typescript-interfaces)\n\n## Troubleshooting\n\nHaving issues with the library? Check out the [troubleshooting](https://datx.dev/docs/troubleshooting/known-issues) page or [open](https://github.com/infinum/datx/issues/new) an issue.\n\n---\n\n[![Build Status](https://travis-ci.org/infinum/datx.svg?branch=master)](https://travis-ci.org/infinum/datx)\n[![npm version](https://badge.fury.io/js/datx-network.svg)](https://badge.fury.io/js/datx-network)\n[![Dependency Status](https://david-dm.org/infinum/datx.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network)\n[![devDependency Status](https://david-dm.org/infinum/datx/dev-status.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network#info=devDependencies)\n\n## License\n\nThe [MIT License](LICENSE)\n\n## Credits\n\ndatx-network is maintained and sponsored by\n[Infinum](https://www.infinum.com).\n\n<img src=\"https://infinum.com/infinum.png\" width=\"264\">\n","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.0-beta.12","datx-utils":"^2.0.0-beta.13"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.4.2","rollup":"^2.28.2","ts-jest":"^26.4.1","typescript":"^4.0.3","@types/jest":"^26.0.14","@types/node":"^14.11.2","@types/react":"^16.9.50","rollup-plugin-terser":"^7.0.2","@rollup/plugin-commonjs":"^15.1.0","rollup-plugin-typescript2":"^0.27.3","@rollup/plugin-node-resolve":"^9.0.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.13"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.13_1606043900884_0.4989211405471483","host":"s3://npm-registry-packages"}},"2.0.0-beta.14":{"name":"datx-network","version":"2.0.0-beta.14","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0-beta.14","maintainers":[{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"},{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"dingo-d","email":"denis.zoljom@gmail.com"},{"name":"ivan.grginov","email":"ivan.grginov@infinum.hr"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"infinum","email":"accounts.npm@infinum.com"},{"name":"infinumco","email":"ACcounts.npm@infinum.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"25e76b996da73accf633805715168bad417a5f67","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0-beta.14.tgz","fileCount":44,"integrity":"sha512-JPcLfNCpiIEtK+2N2sIY9ZLSPPyoQUG4sBaytYr94GBUtjQgUpkVSDgqBLm+XPUf6g2R6Rnl7ebXw3/oikz+Fg==","signatures":[{"sig":"MEUCIH30F822tNP8r3/P/ChQc3uP4TlmVrGg6FQdMaIbgofEAiEA59YQwRAG2xB4HrU1WNDSMQ67XacUMGABo7ZXfDBy+BM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/v0sCRA9TVsSAnZWagAAoBcP/jV0O2SBGRa5jZeEtJNo\nrY82EE0iRHmUxFPNuWI85QpRr24Bc+diiTJ00N3CU1wl4zxwFR0H/xVSp2LC\nlZmsTZhiqCl60p4lw93Fn4Kg0LLgEKhIWjG9LnY+DlhqV90YWZ6aVwVRAvmV\n6nwrWTQC14k/az/aU0mM1h1wU2flY1s9XTWe4jO1F5jLYvmtvD1ru6vKV4hl\nMw4csEL1Vqm/HAEAi5Q8HWRAG1a+NAviEiXqnrFycn4KctnrJMaNKyqjOmlh\nm+piGAZ0EHbXlOOSQ8nl9m74ot6Ymk5eCfb18jM/M/T0f58Rcf8jJmiigh9t\nIxukmzxxYsJVGaQJgjtq+m593oX2dKV6lqTwoWsP1o0o480dhyIQkIXCdhoc\nCxebGY9I/H8+R9dWvsuptbynCeILQuGCMLvIRqe8CgsZmAomt+1bavZxtyXW\nRUsFBBY9CO4h7VmXVtQa+cUSutELyPK8kHMz7vJIi/Zq8pz+ab7nWzrZOCwk\nKsfuN3DK4KmlH2MGuYAFVSUyMitZzBHR1EOO9+6qs8BpiquIYupfFKY2zoNA\nMZinJSwjM9n1dSfTGj4Iw9UAikse9uEbckJho0mA5G5xyHNFVXXZjW3HFO3V\n0qUaztI+vcTJ9/GFB54EUKdb+HdvNDCVXC3tTvlsTdv8XZ2QyG/7eF5PPlbI\n4kkT\r\n=nkAB\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","readme":"# datx-network\n\nDatX is an opinionated data store for use with the [MobX](https://mobx.js.org/) state management library. It features support for simple observable property definition, references to other models and first-class TypeScript support.\n\n`datx-network` is a datx mixin that adds a networking layer support. It can be used with any REST-like API and probably also other types of an API.\n\n---\n\n## Basic usage\n\n```tsx\nimport { Collection, Model, Attribute } from 'datx';\nimport { BaseRequest, collection, setUrl } from 'datx-network';\n\nclass Person extends Model {\n  public static type = 'person'; // Unique name of the model class\n\n  @Attribute()\n  public name: string; // A normal observable property without a default value\n\n  @Attribute()\n  public surname: string;\n\n  @Attribute({ toOne: Person })\n  public spouse?: Person; // A reference to a Person model\n\n  @computed\n  public get fullName() {\n    // Standard MobX computed props\n    return `${this.name} ${this.surname}`;\n  }\n}\n\nclass AppData extends Collection {\n  public static types = [Person]; // A list of models available in the collection\n}\n\nconst store = new AppData();\n\n// Create a base request with a basic configuration (baseUrl and linked collection)\nconst baseRequest = new BaseRequest('https://example.com').pipe(collection(store));\n\n// Create separate request points\nconst getPerson = baseRequest.pipe<Person>(setUrl('/people/{id}', Person));\nconst getPeople = baseRequest.pipe<Array<Person>>(setUrl('/people', Person));\n\n// Pure JS loading\nconst peopleResponse = await getPeople.fetch();\n\n// Loading in a React component\nconst PersonInfo = ({ userId }) => {\n  const [response, loading, error] = getPerson.useHook({ id: userId });\n\n  if (loading || error) {\n    return null;\n  }\n\n  const user = response.data;\n\n  return <div>{user.fullName}</div>;\n};\n```\n\n## Getting started\n\nNote: `datx-network` has a peer dependency to `mobx@^4.2.0` or `mobx@^5.5.0`, so don't forget to install the latest MobX version:\n\n```bash\nnpm install --save datx-network mobx\n```\n\n### Polyfilling\n\nThe lib makes use of the following features that are not yet available everywhere. Based on your browser support, you might want to polyfill them:\n\n- [Symbol.for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol)\n- [Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n- [Array.prototype.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n- [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n- [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\n[How to add the polyfills](https://datx.dev/docs/troubleshooting/known-issues#the-library-doesnt-work-in-internet-explorer-11).\nNote: Fetch API is not included in the polyfills mentioned in the Troubleshooting page. Instead, you need to add it as a separate library. If you don't have any special requirements (like server-side rendering), you can use the [window.fetch polyfill](https://github.com/github/fetch#installation).\n\n## API reference\n\n- [BaseRequest](https://datx.dev/docs/network/base-request)\n- [Response](https://datx.dev/docs/network/response)\n- [operators](https://datx.dev/docs/network/operators)\n- [caching](https://datx.dev/docs/network/caching)\n- [interceptors](https://datx.dev/docs/network/interceptors)\n- [parse/serialize](https://datx.dev/docs/network/parse-serialize)\n- [fetching](https://datx.dev/docs/network/fetching)\n- [TypeScript Interfaces](https://datx.dev/docs/network/typescript-interfaces)\n\n## Troubleshooting\n\nHaving issues with the library? Check out the [troubleshooting](https://datx.dev/docs/troubleshooting/known-issues) page or [open](https://github.com/infinum/datx/issues/new) an issue.\n\n---\n\n[![Build Status](https://travis-ci.org/infinum/datx.svg?branch=master)](https://travis-ci.org/infinum/datx)\n[![npm version](https://badge.fury.io/js/datx-network.svg)](https://badge.fury.io/js/datx-network)\n[![Dependency Status](https://david-dm.org/infinum/datx.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network)\n[![devDependency Status](https://david-dm.org/infinum/datx/dev-status.svg?path=packages/datx-network)](https://david-dm.org/infinum/datx?path=packages/datx-network#info=devDependencies)\n\n## License\n\nThe [MIT License](LICENSE)\n\n## Credits\n\ndatx-network is maintained and sponsored by\n[Infinum](https://www.infinum.com).\n\n<img src=\"https://infinum.com/infinum.png\" width=\"264\">\n","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.0-beta.12","datx-utils":"^2.0.0-beta.13"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.4.2","rollup":"^2.28.2","ts-jest":"^26.4.1","typescript":"^4.0.3","@types/jest":"^26.0.14","@types/node":"^14.11.2","@types/react":"^16.9.50","rollup-plugin-terser":"^7.0.2","@rollup/plugin-commonjs":"^15.1.0","rollup-plugin-typescript2":"^0.27.3","@rollup/plugin-node-resolve":"^9.0.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.13"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0-beta.14_1610546475826_0.33405683806906605","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"datx-network","version":"2.0.0","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.0","maintainers":[{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"infinumco","email":"ACcounts.npm@infinum.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"ec70fd7f8bdd3bacf8816c7dd6706b804c0a9765","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.0.tgz","fileCount":44,"integrity":"sha512-RsWOD/UEM76IFtoAWeINN8/oBmILUc7HYYB/+MzHs7I37GRLjVzUGEOFyl0KYdZDIaYqkcfX2xr9kuTCT93exg==","signatures":[{"sig":"MEUCIHYuWfEF1lDg7TEkumtlaz/WrUvc+HAVPIJFKq7lwv7dAiEA7NdY5lBumhi8x1HK8QzsFXMmxB3epuFvabKQSN7RNmc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDFPJCRA9TVsSAnZWagAAoEIP/AhG7c1fqswGEwAhIsi8\nlT5LGS9V+4mj72QZmHut6ETGoXvW7LmdbNR1XdDWFwbWrY4bFcNA5wB3JRrs\nuewU1dQ8JkMJF6PozXTNXGUxjb1D4lVOLnv4V5668V+5iUEfAOTaOREqsi3r\nNc6k9fOYcJJDel06sX5g+i2i17y4Xv6t8t+SWhVDe6wkz63UXQs7lvoK7UTH\nP0CKkNYDU+2XlgQb5hYxMF0hlggz5no1EfHFYJmsatNW3o0MgO7svSI3zTWr\n5J8C69TBXo1Yvh8t8bRJIfB11YzO1iBflKSt4grju7EcjPJuHn0xC0p8OfgO\nSLdxq/qEHjWjR/TtOpFCwKojXgokpGQSuMzhwiLx0+Tx60iFgOnQPVKHftp8\nSRIDgFTsMBOf8WN1PsXxw5ACm3FSXfiQLlx430mZwWOfaGweHGmClKr2p94Q\nKmTdk08CyoIcHiBY6hmqiRSRlGrjJjTS07EtbiCLYl/W4ee5en6Fid571x99\nU5QrcD+5tb68D4SvB28Bot+k5nwmzKpielCIW1ZH05juBfzIISRY9bgorQTE\nTxTtgiAKc1SS4qdb8k1tctmEzirVXuexLhFQXySMuXQdQJNitXtrAeGB2RoP\nJdx19lvscDEYCshmmR65WbOZm7u1nmb3JluwB3TD4J7wjPuykkRJi9MJruIf\nYSgC\r\n=ixm2\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"deprecated":"Migrated to @datx/network","repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"@datx/core":"^2.0.0","@datx/utils":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","rollup":"^2.38.0","ts-jest":"^26.4.4","typescript":"^4.1.3","@types/jest":"^26.0.20","@types/node":"^14.14.22","@types/react":"^17.0.0","rollup-plugin-terser":"^7.0.2","@rollup/plugin-commonjs":"^17.0.0","rollup-plugin-typescript2":"^0.29.0","@rollup/plugin-node-resolve":"^11.1.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.17"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.0_1611420617092_0.08096401062076208","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"datx-network","version":"2.0.2","keywords":["datx","mobx"],"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","_id":"datx-network@2.0.2","maintainers":[{"name":"dkriskov","email":"dario.kriskovic@infinum.com"},{"name":"kbambir","email":"kristijan.bambir@gmail.com"},{"name":"fvoska","email":"filip.voska@gmail.com"},{"name":"safo6m","email":"mihael.safaric+npm@gmail.com"},{"name":"ivicabatinic","email":"ivica.batinic@infinum.hr"},{"name":"nives","email":"nives.vulic@gmail.com"},{"name":"andreicek","email":"crnkovic.a.z@gmail.com"},{"name":"darkokukovec","email":"darko@kukovec.eu"},{"name":"infinumco","email":"ACcounts.npm@infinum.com"}],"homepage":"https://github.com/infinum/datx#readme","bugs":{"url":"https://github.com/infinum/datx/issues"},"dist":{"shasum":"902a0c295fedbcbf42f5cc6a7df5364aa3e2622e","tarball":"https://registry.npmjs.org/datx-network/-/datx-network-2.0.2.tgz","fileCount":44,"integrity":"sha512-H9iwr6L6hvj5MaQZ4RXv9YMF2jyC+5Vz1pxNzu9iyFNBlh5QH3vpnKzrHqlbZWpHoulbvsDgNQ5N7ZseuetUxA==","signatures":[{"sig":"MEYCIQDTf5OqY1c/oTx23aMLThN50zQTJfo3P0khXSOpFKiqogIhAL4sWW5sEmATaGfJJpUnP7syD+nu0pMvVZB5ge11TlOm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":231469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEA5ZCRA9TVsSAnZWagAAsjsP/1hhxRAJor2r18kaIgPs\nlV7BYf7f+6o57ByG26OON0fAjQjeZ9RlBNDlgfzgcpf98XwbyzhlQBoAtg0A\n33v1s83Jy/Dt1V1k0N2lCbEfpZz9g4ubrSq7uF2+XXbl7rXBTkZViwLXvll0\nGV5LaNy6UVy/k7/UlONN5RtwPw//BwMWYHr1+rcQ9pmXPdl6U0WuujB+SNao\n0vFqWOERSsg6v9xzyto0qJ3KxExOTrYDb8AV40ciSXdLt1eGrNOxCPfjexDS\nVm3zHuqSWckMvsezy04Anu2jI1sHRD9/+4FnWgru2EcekRG6L9D6OdvI5B4u\nf1Jt0zRoyQaKUAGO9AwupFigyWPVypzDw1AzAmA8GBp/UE7D+fhWJUj3eeUt\nzHylqUrCFx9LmiuK5aSSCT1grtAYxzGtNxz5UQtKHd+SIjpz4QO24ZOeginu\nNMvz2JqOJaTIU6xAId58m35QlqJT5+NK+u5QT7bgClbvZZWgVRhoE7pEVsqR\nfNstmVW1GmC+Rz52oCIrp2MYX1ayHUeOWwjC8/v3CjQNdqIeiQjyZciqZ7WC\n1NIZVC7yDbKwUbT9wJm0GuD+OZ3zIyO1Qum4EdZA8AfVhcWitmvrefIbWrPI\nh6KishTWS2lLCVbaij7/3ZK7cCVkyvSCHRZsIp+WeyMNuRzDG8ZDGKi5xuRA\n17WC\r\n=M3yV\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"testMatch":null,"testRegex":"test/(.*).test.ts$","setupFilesAfterEnv":["./test/setup.ts"],"moduleFileExtensions":["ts","js"],"coveragePathIgnorePatterns":["/test/","/node_modules/"]},"main":"dist/index.cjs.js","module":"dist/index.esm.js","scripts":{"test":"jest --coverage","build":"rollup -c","watch":"jest --watch --coverage","prepublish":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"darkokukovec","email":"darko@kukovec.eu"},"deprecated":"Migrated to @datx/network","repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"_npmVersion":"6.14.5","description":"DatX network layer","directories":{},"sideEffects":false,"_nodeVersion":"14.5.0","dependencies":{"datx":"^2.0.2","datx-utils":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","rollup":"^2.38.0","ts-jest":"^26.4.4","typescript":"^4.1.3","@types/jest":"^26.0.20","@types/node":"^14.14.22","@types/react":"^17.0.0","rollup-plugin-terser":"^7.0.2","@rollup/plugin-commonjs":"^17.0.0","rollup-plugin-typescript2":"^0.29.0","@rollup/plugin-node-resolve":"^11.1.0","rollup-plugin-exclude-dependencies-from-bundle":"^1.1.17"},"_npmOperationalInternal":{"tmp":"tmp/datx-network_2.0.2_1611664984813_0.27007725355579093","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-08-06T07:56:09.018Z","modified":"2025-09-17T07:23:46.560Z","2.0.0-beta.4":"2020-08-06T07:56:09.121Z","2.0.0-beta.5":"2020-08-10T07:13:34.198Z","2.0.0-beta.6":"2020-08-14T13:15:15.123Z","2.0.0-beta.7":"2020-08-28T13:17:11.287Z","2.0.0-beta.8":"2020-09-26T17:16:30.387Z","2.0.0-beta.9":"2020-10-05T07:17:30.453Z","2.0.0-beta.10":"2020-11-11T19:34:28.706Z","2.0.0-beta.11":"2020-11-20T08:27:00.102Z","2.0.0-beta.12":"2020-11-22T10:42:06.949Z","2.0.0-beta.13":"2020-11-22T11:18:21.046Z","2.0.0-beta.14":"2021-01-13T14:01:15.961Z","2.0.0":"2021-01-23T16:50:17.292Z","2.0.2":"2021-01-26T12:43:04.970Z"},"bugs":{"url":"https://github.com/infinum/datx/issues"},"author":{"name":"Infinum JavaScript Team","email":"hello@infinum.com"},"license":"MIT","homepage":"https://github.com/infinum/datx#readme","keywords":["datx","mobx"],"repository":{"url":"git+https://github.com/infinum/datx.git","type":"git"},"description":"DatX network layer","maintainers":[{"email":"accounts.npm@infinum.com","name":"infinumcom"},{"email":"npm@kuk.is","name":"darkokukovec"},{"email":"filip.voska@gmail.com","name":"fvoska"},{"email":"mihael.safaric+npm@gmail.com","name":"safo6m"},{"email":"dani.pavic@infinum.com","name":"danipavic"},{"email":"ACcounts.npm@infinum.com","name":"infinumco"}],"readme":"# @datx/network\n\nDatX is an opinionated data store for use with the [MobX](https://mobx.js.org/) state management library. It features support for simple observable property definition, references to other models and first-class TypeScript support.\n\n`@datx/network` is a datx mixin that adds a networking layer support. It can be used with any REST-like API and probably also other types of an API.\n\n---\n\n## Basic usage\n\n```tsx\nimport { Collection, Model, Attribute } from '@datx/core';\nimport { BaseRequest, collection, setUrl } from '@datx/network';\n\nclass Person extends Model {\n  public static type = 'person'; // Unique name of the model class\n\n  @Attribute()\n  public name: string; // A normal observable property without a default value\n\n  @Attribute()\n  public surname: string;\n\n  @Attribute({ toOne: Person })\n  public spouse?: Person; // A reference to a Person model\n\n  @computed\n  public get fullName() {\n    // Standard MobX computed props\n    return `${this.name} ${this.surname}`;\n  }\n}\n\nclass AppData extends Collection {\n  public static types = [Person]; // A list of models available in the collection\n}\n\nconst store = new AppData();\n\n// Create a base request with a basic configuration (baseUrl and linked collection)\nconst baseRequest = new BaseRequest('https://example.com').pipe(collection(store));\n\n// Create separate request points\nconst getPerson = baseRequest.pipe<Person>(setUrl('/people/{id}', Person));\nconst getPeople = baseRequest.pipe<Array<Person>>(setUrl('/people', Person));\n\n// Pure JS loading\nconst peopleResponse = await getPeople.fetch();\n\n// Loading in a React component\nconst PersonInfo = ({ userId }) => {\n  const [response, loading, error] = getPerson.useHook({ id: userId });\n\n  if (loading || error) {\n    return null;\n  }\n\n  const user = response.data;\n\n  return <div>{user.fullName}</div>;\n};\n```\n\n## Getting started\n\nNote: `@datx/network` has a peer dependency to `mobx@^4.2.0` or `mobx@^5.5.0`, so don't forget to install the latest MobX version:\n\n```bash\nnpm install --save @datx/network mobx\n```\n\n### Polyfilling\n\nThe lib makes use of the following features that are not yet available everywhere. Based on your browser support, you might want to polyfill them:\n\n- [Symbol.for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol)\n- [Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n- [Array.prototype.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n- [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n- [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\n[How to add the polyfills](https://datx.dev/docs/troubleshooting/known-issues#the-library-doesnt-work-in-internet-explorer-11).\nNote: Fetch API is not included in the polyfills mentioned in the Troubleshooting page. Instead, you need to add it as a separate library. If you don't have any special requirements (like server-side rendering), you can use the [window.fetch polyfill](https://github.com/github/fetch#installation).\n\n## API reference\n\n- [BaseRequest](https://datx.dev/docs/network/base-request)\n- [Response](https://datx.dev/docs/network/response)\n- [operators](https://datx.dev/docs/network/operators)\n- [caching](https://datx.dev/docs/network/caching)\n- [interceptors](https://datx.dev/docs/network/interceptors)\n- [parse/serialize](https://datx.dev/docs/network/parse-serialize)\n- [fetching](https://datx.dev/docs/network/fetching)\n- [TypeScript Interfaces](https://datx.dev/docs/network/typescript-interfaces)\n\n## Troubleshooting\n\nHaving issues with the library? Check out the [troubleshooting](https://datx.dev/docs/troubleshooting/known-issues) page or [open](https://github.com/infinum/datx/issues/new) an issue.\n\n---\n\n[![Build Status](https://travis-ci.org/infinum/datx.svg?branch=master)](https://travis-ci.org/infinum/datx)\n[![npm version](https://badge.fury.io/js/@datx/network.svg)](https://badge.fury.io/js/@datx/network)\n[![Dependency Status](https://david-dm.org/infinum/datx.svg?path=packages/@datx/network)](https://david-dm.org/infinum/datx?path=packages/@datx/network)\n[![devDependency Status](https://david-dm.org/infinum/datx/dev-status.svg?path=packages/@datx/network)](https://david-dm.org/infinum/datx?path=packages/@datx/network#info=devDependencies)\n\n## License\n\nThe [MIT License](LICENSE)\n\n## Credits\n\n@datx/network is maintained and sponsored by\n[Infinum](https://www.infinum.com).\n\n<img src=\"https://infinum.com/infinum.png\" width=\"264\">\n","readmeFilename":"README.md"}