{"_id":"@bringg/dashboard-sdk-pre","_rev":"6-89bba3c5109b81efb3ac25de5132ec01","name":"@bringg/dashboard-sdk-pre","dist-tags":{"latest":"0.2.16"},"versions":{"0.2.0":{"name":"@bringg/dashboard-sdk-pre","version":"0.2.0","description":"Bringg dashboard SDK","main":"dist/bringg-dashboard-sdk.js","typings":"dist/index.d.ts","scripts":{"test":"jest","coverage":"rm -rf ./coverage && jest --coverage","jest":"jest --watchAll","lint":"tslint \"src/**/*.ts\" -e \"**/__test__/**\"","prettier":"prettier --parser typescript --print-width 160 --single-quote true --trailing-comma all --write  \"src/**/*.ts\"","fix":"npm run prettier && npm run lint","bundle":"git clean -fdx ./dist && tsc --project tsconfig.json && webpack --config ./webpack.config.js","add-to-staging":"git add -u","entity-generator":"chmod 777 scripts/* && scripts/file_generator.sh $1 $2","bundle-report":"webpack-bundle-analyzer --port 4200 dist/stats.json","bump-version":"npm_config_allow_same_version=true npm_config_git_tag_version=false npm version patch","build-docs":"typedoc --out docs src","build-sandbox-sdk":"git clean -fdx .sandbox/dist && tsc --project tsconfig.json --outDir ./sandbox/dist && webpack --config ./webpack_sandbox.config.js","sandbox":"npm run build-sandbox-sdk && cd sandbox && npm run start"},"pre-commit":["prettier","bump-version","add-to-staging"],"author":"","license":"ISC","dependencies":{"axios":"0.18.0","axios-debug-log":"0.4.0","http-status-codes":"1.3.0","immutable":"^3.8.2","lodash":"4.17.10","moment":"^2.22.2","object-hash":"^1.3.0","postal":"2.0.5","redux":"4.0.0","redux-thunk":"^2.3.0","rxjs":"^6.4.0","sha1":"1.1.1","socket.io-client":"^2.2.0","typescript":"3.5.1","crypto-js":"^3.1.9-1"},"devDependencies":{"@bringg/types":"3.6.10","@types/faker":"^4.1.5","@types/jest":"^24.0.13","@types/lodash":"^4.14.133","@types/node":"^12.0.4","@types/postal":"1.0.29","@types/socket.io-client":"1.4.32","axios-mock-adapter":"1.15.0","codecov":"^3.5.0","faker":"4.1.0","jest":"^24.8.0","jest-cli":"^24.8.0","jest-fetch-mock":"^2.1.2","pre-commit":"^1.2.2","replace-in-file-webpack-plugin":"^1.0.6","prettier":"^1.17.1","promise-polyfill":"^8.1.0","ts-import-plugin":"^1.5.5","ts-jest":"^24.0.2","ts-loader":"4.3.1","tslint":"^5.17.0","tslint-config-prettier":"^1.18.0","typedoc":"^0.14.2","webpack":"4.10.2","webpack-bundle-analyzer":"^3.3.2","webpack-cli":"^3.3.2","webpack-command":"^0.4.2"},"gitHead":"5086e22e52354ad6dd9f1916a23bc31e3a5477eb","_id":"@bringg/dashboard-sdk-pre@0.2.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-THD7/vmdAF+2Oprd35dx3bFt2gnmRRyeubTuGVprQSH58Ctgochh/hU4pEJDzwwL7YaBuqpi4bMG1ie/wwN/6Q==","shasum":"14948f9f9ace84236b58322a48f3d28fe6ad0e62","tarball":"https://registry.npmjs.org/@bringg/dashboard-sdk-pre/-/dashboard-sdk-pre-0.2.0.tgz","fileCount":464,"unpackedSize":20331264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJw+tCRA9TVsSAnZWagAAiOAP/jb98xbm2W3DwFw0+Y2j\nk7IreklhF00SWpQM6EClrsGzXvY7DOmsRlOf+eURdvIQ3mkQoRnTF3snFvFy\nzg9Wnmm8qaW08/MByotUCKeeyQL0WZfa317ELfv4a+6NI8COJFYRkfAtg1tJ\nGNSnz93zoZg9z94ZoylqCPTMwUv0vkj2BYSBIUlqA2hMeXwM03sRE3gkq++X\neNqZ6b5tGlXUQFbKCc8IDMpCaSKhzdG61HT6XUKEfMVkCbvC3fbwowqIaSoS\nS/mKXLWDyq6eqs98HCutBHc3va6wR09O4H8YPFtFLGVNCgSvygqFd0qn0sas\nLh8Hy2bWpKtn6n/E72U4G346PfOP3UDwLlO8Hj/VzDc4e+neudrI0bkrnmtL\nT8WdGGFvgI/H9VqM4zBduI2nu1FEIo1PtiuXRR8NJaTM77m67pmLZ1Zs6IsN\ndMsqJI8kFs/ypwId5atUXysv1WQwvzcO4N4uvGZ1SWX8UO8gp+WsistgihcV\nWdR9zzwoUjPrl6l6M07OkbIGFr/AFbqmN9P9a1yvXyBCEhpkbe5JEc7xD3ys\nt7TaYCG4qFa9al2Rz2jSr8y6rdoVTUj9J6Wbl8Nq9c6cvpIKgYkkLP42+VNM\nzZlZtnMxI6BIi5yl6pn9DBv3GBueD8CTP3Z4WqriBLcmTzvI69+1XDQ/j4iG\nXogc\r\n=dILf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6D29thPcJWltZeuUfaNiZ9sGWWIDqnXs38DL8nLOUtwIgTrgy+BOUyAIkl9MspruelmCUUjzkwlfYMmocUvVAzYU="}]},"maintainers":[{"name":"bringg_npm","email":"hostmaster@bringg.com"}],"_npmUser":{"name":"bringg_npm","email":"hostmaster@bringg.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dashboard-sdk-pre_0.2.0_1562841005104_0.7163675540542871"},"_hasShrinkwrap":false},"0.2.1":{"name":"@bringg/dashboard-sdk-pre","version":"0.2.1","description":"Bringg dashboard SDK","main":"dist/bringg-dashboard-sdk.js","typings":"dist/index.d.ts","scripts":{"test":"jest","coverage":"rm -rf ./coverage && jest --coverage","jest":"jest --watchAll","lint":"tslint \"src/**/*.ts\" -e \"**/__test__/**\"","prettier":"prettier --parser typescript --print-width 160 --single-quote true --trailing-comma all --write  \"src/**/*.ts\"","fix":"npm run prettier && npm run lint","bundle":"git clean -fdx ./dist && tsc --project tsconfig.json && webpack --config ./webpack.config.js","add-to-staging":"git add -u","entity-generator":"chmod 777 scripts/* && scripts/file_generator.sh $1 $2","bundle-report":"webpack-bundle-analyzer --port 4200 dist/stats.json","bump-version":"npm_config_allow_same_version=true npm_config_git_tag_version=false npm version patch","build-docs":"typedoc --out docs src","build-sandbox-sdk":"git clean -fdx .sandbox/dist && tsc --project tsconfig.json --outDir ./sandbox/dist && webpack --config ./webpack_sandbox.config.js","sandbox":"npm run build-sandbox-sdk && cd sandbox && npm run start"},"pre-commit":["prettier","bump-version","add-to-staging"],"author":"","license":"ISC","dependencies":{"axios":"0.18.0","axios-debug-log":"0.4.0","http-status-codes":"1.3.0","immutable":"^3.8.2","lodash":"4.17.10","moment":"^2.22.2","object-hash":"^1.3.0","postal":"2.0.5","redux":"4.0.0","redux-thunk":"^2.3.0","rxjs":"^6.4.0","sha1":"1.1.1","socket.io-client":"^2.2.0","typescript":"3.5.1","crypto-js":"^3.1.9-1"},"devDependencies":{"@bringg/types":"3.6.10","@types/faker":"^4.1.5","@types/jest":"^24.0.13","@types/lodash":"^4.14.133","@types/node":"^12.0.4","@types/postal":"1.0.29","@types/socket.io-client":"1.4.32","axios-mock-adapter":"1.15.0","codecov":"^3.5.0","faker":"4.1.0","jest":"^24.8.0","jest-cli":"^24.8.0","jest-fetch-mock":"^2.1.2","pre-commit":"^1.2.2","replace-in-file-webpack-plugin":"^1.0.6","prettier":"^1.17.1","promise-polyfill":"^8.1.0","ts-import-plugin":"^1.5.5","ts-jest":"^24.0.2","ts-loader":"4.3.1","tslint":"^5.17.0","tslint-config-prettier":"^1.18.0","typedoc":"^0.14.2","webpack":"4.10.2","webpack-bundle-analyzer":"^3.3.2","webpack-cli":"^3.3.2","webpack-command":"^0.4.2"},"gitHead":"454c19682cc5448bb6bb0833dbda838733643a39","_id":"@bringg/dashboard-sdk-pre@0.2.1","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-fHbAe77/ighzwnsz6swl2vQtblq+O3u0qMl75DWKx344KLRpt/B+jX+pwCvTg5lQC0CcyIa/cA2UsHZ77IwwXg==","shasum":"5451ad1a71d08f4c19394f9b20fe994783f4cbce","tarball":"https://registry.npmjs.org/@bringg/dashboard-sdk-pre/-/dashboard-sdk-pre-0.2.1.tgz","fileCount":464,"unpackedSize":20333546,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJ1EpCRA9TVsSAnZWagAAFNkP/iOsDBtefgJcbbm1wlBx\nQ2oPY1Q4MSStFWZx9ga/F4+/+5nBG0GF9lgdbo4Vdq0GMFGatEto5I4Wm9AI\nzi3XW2U2YOVrwy+f1tqGjOg52dh0Mq0PU/56baevu/k6zzmi1JZFqrdV0uHd\nJfRlF97XoDSKpF8fnabnwtiwgSJOisTrtB3oGEinEnVT+r7mvZ9rseZwCZTK\nhltXR6DtV8gW+lb1Ohkgn8BF6pKgdWuH2rp2rLWMuEXyU2OILYoswJ9rNrEg\njV1yqQhZllTAxzT2YvVNk/TvZ8HEgurzwx7AEYDWNAU7xIR3GUcfG1dy2zBu\nR0XHkqf33ZGUJg3i2ziQbu9hiZQ8tIMBGfw2JHjGbchAmF3gWXQp1AoX/O6v\nHgQeRaU1N1SkoPjsncYJRxxyVGTV3DbrOp9s5400EeeuEYOMMCB6E05hYRD+\nxLNcFt1YKCjGKnuMeCwhg64k0I3TxsKhVqktMZwcaOkEVrRG+zdub73LU5H9\nmh6Vam5jrS24WQIeKAzbPbtCZQLaW6ESP0kWgsff/uikXuX+DQweO8KgKHJu\nWtjmPjulhQOynrNLEGWGo+e4QQ9vtPeVXSVyxG8hdRxaRiQUytoTBUZoPFaq\n06vb+L94PSxvYEvxsYq6X+tBiyNshpUKOgidHBHWeE52glkMheAcnkBXR6ny\nhuOM\r\n=TY4W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwu8K/i4bsmiD28hQMS1sm0Q9mat81I7Hu09GgHZVMuAIgfteI0L0F5gx8Wh1gy8GGGTL6REMAAw7mwc27iuYDxxQ="}]},"maintainers":[{"name":"bringg_npm","email":"hostmaster@bringg.com"}],"_npmUser":{"name":"bringg_npm","email":"hostmaster@bringg.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dashboard-sdk-pre_0.2.1_1562857768477_0.8842360690146582"},"_hasShrinkwrap":false},"0.2.2":{"name":"@bringg/dashboard-sdk-pre","version":"0.2.2","description":"Bringg dashboard SDK","main":"dist/bringg-dashboard-sdk.js","typings":"dist/index.d.ts","scripts":{"test":"jest","coverage":"rm -rf ./coverage && jest --coverage","jest":"jest --watchAll","lint":"tslint \"src/**/*.ts\" -e \"**/__test__/**\"","prettier":"prettier --parser typescript --print-width 160 --single-quote true --trailing-comma all --write  \"src/**/*.ts\"","fix":"npm run prettier && npm run lint","bundle":"git clean -fdx ./dist && tsc --project tsconfig.json && webpack --config ./webpack.config.js","add-to-staging":"git add -u","entity-generator":"chmod 777 scripts/* && scripts/file_generator.sh $1 $2","bundle-report":"webpack-bundle-analyzer --port 4200 dist/stats.json","bump-version":"npm_config_allow_same_version=true npm_config_git_tag_version=false npm version patch","build-docs":"typedoc --out docs src","build-sandbox-sdk":"git clean -fdx .sandbox/dist && tsc --project tsconfig.json --outDir ./sandbox/dist && webpack --config ./webpack_sandbox.config.js","sandbox":"npm run build-sandbox-sdk && cd sandbox && npm run start"},"pre-commit":["prettier","bump-version","add-to-staging"],"author":"","license":"ISC","dependencies":{"axios":"0.18.0","axios-debug-log":"0.4.0","http-status-codes":"1.3.0","immutable":"^3.8.2","lodash":"4.17.10","moment":"^2.22.2","object-hash":"^1.3.0","postal":"2.0.5","redux":"4.0.0","redux-thunk":"^2.3.0","rxjs":"^6.4.0","sha1":"1.1.1","socket.io-client":"^2.2.0","typescript":"3.5.1","crypto-js":"^3.1.9-1"},"devDependencies":{"@bringg/types":"3.6.10","@types/faker":"^4.1.5","@types/jest":"^24.0.13","@types/lodash":"^4.14.133","@types/node":"^12.0.4","@types/postal":"1.0.29","@types/socket.io-client":"1.4.32","axios-mock-adapter":"1.15.0","codecov":"^3.5.0","faker":"4.1.0","jest":"^24.8.0","jest-cli":"^24.8.0","jest-fetch-mock":"^2.1.2","pre-commit":"^1.2.2","replace-in-file-webpack-plugin":"^1.0.6","prettier":"^1.17.1","promise-polyfill":"^8.1.0","ts-import-plugin":"^1.5.5","ts-jest":"^24.0.2","ts-loader":"4.3.1","tslint":"^5.17.0","tslint-config-prettier":"^1.18.0","typedoc":"^0.14.2","webpack":"4.10.2","webpack-bundle-analyzer":"^3.3.2","webpack-cli":"^3.3.2","webpack-command":"^0.4.2"},"gitHead":"147bb6d890b0fe6dc9099d0dce60cc388c85b376","_id":"@bringg/dashboard-sdk-pre@0.2.2","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-126R/lfRqjE3PC1wslok3UQ7pQdHsiW8VTvY/8fJI4gzMfsfvbUOUkUbrM43+BGtOu7mSki/G1QJHT9onaj5pA==","shasum":"3f6115e18cbbd0a666a1705f80a398c036a0b7a3","tarball":"https://registry.npmjs.org/@bringg/dashboard-sdk-pre/-/dashboard-sdk-pre-0.2.2.tgz","fileCount":464,"unpackedSize":20366795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKtqFCRA9TVsSAnZWagAAbX8QAKS+NqCnylwPbsIiNXcw\nsMjIwU7S0NcqTTdA/Wrso4NYo3j3yz5KxQYFO3G+9GDsxvWaJSRRGk8G9Irb\ns3P7sRB5qv33odqO2rMgFICWjEMO6UVCVfy80rHnoCI/pvb/ARthpv5migcv\nuJxoii60QuUH2+Z8Tl8tjk2PN6t0Vtoboq0B/JoBM/2Tmvb3svpRzUPMlT0f\n5cgoqDHLj1vnnvz2lR2SaE09g6zyd98TwiLruMsaWrTmI1IK/9hYNiShteOM\nUU8MoAcCRG/ecP8xNliZO8cuZ367nElFP6/HuCC+kF8aU4lwRXQshaYjTsEm\nP7b4PqzGvsieJnPUrsAnlqrfAZNqCQKhBWVwUr93cWgxud8GTubbUFo8RhNl\nktws+xVQz3y6h++n0KOKP6dHl+eGU8A3X4pnQzL5HvWuWaJYZjgbUV+rgqk6\n6MYe35ScoOw1KJ2UVz/5UBud2lksbwDy4A46mrth0LsrKCuy1d18DXWbyFgu\nCqRDjGZezrSAnV+stN/c1Mx8vj1tYhS7taFdOlKhTUu4eRvfvGvZKEPtZ9eQ\nsRfq7HNXnxbvUYq0jS6KEHp3Zeh+LX4OQBnfxCs7ick3WfFakCVBUm/eD/6r\n4a4jNBdIU357QPBhCG1dscpjGdEDS6WmBf5E18iW8BFQWxtFf21nlYUjAu1G\n7AN6\r\n=Vxia\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmdnPTbvXqlnX0GcZJRu6m3+MLgLNL9mAd07tr6uFjvQIgWirD2Tl9657vuFrll6KLxgufuOSLGORfDecI2+RZf74="}]},"maintainers":[{"name":"bringg_npm","email":"hostmaster@bringg.com"}],"_npmUser":{"name":"bringg_npm","email":"hostmaster@bringg.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dashboard-sdk-pre_0.2.2_1563089540534_0.6502621062983549"},"_hasShrinkwrap":false},"0.2.11":{"name":"@bringg/dashboard-sdk-pre","version":"0.2.11","description":"Bringg dashboard SDK","main":"dist/bringg-dashboard-sdk.js","typings":"dist/index.d.ts","scripts":{"test":"jest","coverage":"rm -rf ./coverage && jest --coverage","jest":"jest --watchAll","lint":"tslint \"src/**/*.ts\" -e \"**/__test__/**\"","prettier":"prettier --parser typescript --print-width 160 --single-quote true --trailing-comma all --write  \"src/**/*.ts\"","fix":"npm run prettier && npm run lint","bundle":"git clean -fdx ./dist && tsc --project tsconfig.json && webpack --config ./webpack.config.js","add-to-staging":"git add -u","entity-generator":"chmod 777 scripts/* && scripts/file_generator.sh $1 $2","bundle-report":"webpack-bundle-analyzer --port 4200 dist/stats.json","bump-version":"npm_config_allow_same_version=true npm_config_git_tag_version=false npm version patch","build-docs":"typedoc --out docs src","build-sandbox-sdk":"git clean -fdx .sandbox/dist && tsc --project tsconfig.json --outDir ./sandbox/dist && webpack --config ./webpack_sandbox.config.js","sandbox":"npm run build-sandbox-sdk && cd sandbox && npm run start"},"pre-commit":["prettier","bump-version","add-to-staging"],"author":"","license":"ISC","dependencies":{"axios":"0.18.1","axios-debug-log":"0.4.0","http-status-codes":"1.3.0","immutable":"^3.8.2","lodash":"4.17.14","moment":"^2.22.2","object-hash":"^1.3.0","postal":"2.0.5","redux":"4.0.0","redux-thunk":"^2.3.0","rxjs":"^6.4.0","sha1":"1.1.1","socket.io-client":"^2.2.0"},"devDependencies":{"@types/socket.io":"^2.1.2","@bringg/types":"3.6.21","@types/faker":"^4.1.5","@types/jest":"^24.0.13","@types/lodash":"^4.14.133","@types/node":"^12.0.4","@types/postal":"1.0.29","@types/socket.io-client":"1.4.32","axios-mock-adapter":"1.15.0","codecov":"^3.5.0","faker":"4.1.0","jest":"^24.8.0","jest-cli":"^24.8.0","jest-fetch-mock":"^2.1.2","pre-commit":"^1.2.2","replace-in-file-webpack-plugin":"^1.0.6","prettier":"^1.17.1","promise-polyfill":"^8.1.0","ts-import-plugin":"^1.5.5","ts-jest":"^24.0.2","ts-loader":"4.3.1","tslint":"^5.17.0","tslint-config-prettier":"^1.18.0","typedoc":"^0.14.2","webpack":"4.10.2","webpack-bundle-analyzer":"^3.3.2","webpack-cli":"^3.3.2","webpack-command":"^0.4.2","typescript":"3.5.1","socket.io-mock":"^1.2.3"},"gitHead":"ed6a90cac3b5555e4756bc8bfc589b19b03e2e59","_id":"@bringg/dashboard-sdk-pre@0.2.11","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-S9QfeDyXL7duYZpC7vF+1ZJ5JIFvCwpZpwMnGqRIHXF5R/s0b4rFgMsNtn6Kon6VCSKhucgCHsi33/g0sudxRw==","shasum":"3d8b7f34fbfa10d653e06bb384df0a6f41d51e9c","tarball":"https://registry.npmjs.org/@bringg/dashboard-sdk-pre/-/dashboard-sdk-pre-0.2.11.tgz","fileCount":509,"unpackedSize":19007501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLwcPCRA9TVsSAnZWagAA6nMP/iDG6M/0+5lI/v723RaF\nN9U7Z2Xz3RKPrQahHRYeG4fqDuOieHFac5BTp2/q3hE2dORXOENUMzNgE4jn\n7N6R9v9qqoghFbBoGHoyGT0laTbxYGZ4oUazl9g/3XwMZTQsPe3ra+08Y5jf\nuL2mi62HTqKRe06c+IxkrW31EAFtFZRUNEDi+m6oIDD5pC8StubMRu4Jbtsf\n20ylnwuZRkWqq6Sok9SXWC+BemcAR8ex1zVrvTBoDbCBE9sQAz7SUVOoNyaF\nnx3ldjKWRbeNif7gDQCj2kLmpo4Ype2RpjFJgDle1T/44rIqb/Yw80gTBDfl\nTjoPa9sUW5/cvbtDE7VbL88wndyaSfZGWPhVITkOIJVMmy3JQy93nGUTDfM0\noR8Xy+0MH5lTzNXUn4XmzeXswoR3K/cfaG8uBqtaDDVOvD8UsIY4XepEz4uo\nWUVR+zhxl5YflpjbLVh3R3kRYXGUS0ZkNujs7pCYqLT+lHFJgwS4h4+z/2TK\nZzidcWuBuZ3cjVxmgGV1mAB1Y6oDqMZkR4PntjAyEzOvGki3u7YhWXSMdcy9\n0kAU6PyjfRr8k/qhjwxixKeHxAGexyhzV+cCvzcJs0qFn0WSBDihjAOcYwrZ\nair7f84kOEQ9lJ0q1hUZSXmEB1Qjy5mloYF2TkwRcClzIprb5wBcyuo3bWCT\nSdXn\r\n=voEe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8fds4Qp+Ruxa+CAhSjbNRDYIUDNoiuj+5qtOOig9uhgIhANOH1xu4piTAQyQmTubJcdR8StBcp/Z+VZbcxTK7sYFn"}]},"maintainers":[{"name":"bringg_npm","email":"hostmaster@bringg.com"}],"_npmUser":{"name":"bringg_npm","email":"hostmaster@bringg.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dashboard-sdk-pre_0.2.11_1563363084812_0.5421044047445296"},"_hasShrinkwrap":false},"0.2.13":{"name":"@bringg/dashboard-sdk-pre","version":"0.2.13","description":"Bringg dashboard SDK","main":"dist/bringg-dashboard-sdk.js","typings":"dist/index.d.ts","scripts":{"test":"jest","coverage":"rm -rf ./coverage && jest --coverage","jest":"jest --watchAll","lint":"tslint \"src/**/*.ts\" -e \"**/__test__/**\"","prettier":"prettier --parser typescript --print-width 160 --single-quote true --trailing-comma all --write  \"src/**/*.ts\"","fix":"npm run prettier && npm run lint","bundle":"git clean -fdx ./dist && tsc --project tsconfig.json && webpack --config ./webpack.config.js","add-to-staging":"git add -u","entity-generator":"chmod 777 scripts/* && scripts/file_generator.sh $1 $2","bundle-report":"webpack-bundle-analyzer --port 4200 dist/stats.json","bump-version":"npm_config_allow_same_version=true npm_config_git_tag_version=false npm version patch","build-docs":"typedoc --out docs src","build-sandbox-sdk":"git clean -fdx .sandbox/dist && tsc --project tsconfig.json --outDir ./sandbox/dist && webpack --config ./webpack_sandbox.config.js","sandbox":"npm run build-sandbox-sdk && cd sandbox && npm run start"},"pre-commit":["prettier","bump-version","add-to-staging"],"author":"","license":"ISC","dependencies":{"axios":"0.18.1","axios-debug-log":"0.4.0","http-status-codes":"1.3.0","immutable":"^3.8.2","lodash":"4.17.14","moment":"^2.22.2","object-hash":"^1.3.0","postal":"2.0.5","redux":"4.0.0","redux-thunk":"^2.3.0","rxjs":"^6.4.0","sha1":"1.1.1","socket.io-client":"^2.2.0"},"devDependencies":{"@types/socket.io":"^2.1.2","@bringg/types":"3.6.21","@types/faker":"^4.1.5","@types/jest":"^24.0.13","@types/lodash":"^4.14.133","@types/node":"^12.0.4","@types/postal":"1.0.29","@types/socket.io-client":"1.4.32","axios-mock-adapter":"1.15.0","codecov":"^3.5.0","faker":"4.1.0","jest":"^24.8.0","jest-cli":"^24.8.0","jest-fetch-mock":"^2.1.2","pre-commit":"^1.2.2","replace-in-file-webpack-plugin":"^1.0.6","prettier":"^1.17.1","promise-polyfill":"^8.1.0","ts-import-plugin":"^1.5.5","ts-jest":"^24.0.2","ts-loader":"4.3.1","tslint":"^5.17.0","tslint-config-prettier":"^1.18.0","typedoc":"^0.14.2","webpack":"4.10.2","webpack-bundle-analyzer":"^3.3.2","webpack-cli":"^3.3.2","webpack-command":"^0.4.2","typescript":"3.5.1","socket.io-mock":"^1.2.3"},"gitHead":"8f179a36366e4aee80c1bf97b46c7d729ebc3823","_id":"@bringg/dashboard-sdk-pre@0.2.13","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-vF8+FHHIBk86IHqdUwPTqcA9N0OH9QXsDa8ZVLaalU2Fgy6gi3FRxqpggJpMIf+49ZICPsiAdsMbaAxkYae5DQ==","shasum":"58b842110b26a6bfaf50121353d752f3e7443ef7","tarball":"https://registry.npmjs.org/@bringg/dashboard-sdk-pre/-/dashboard-sdk-pre-0.2.13.tgz","fileCount":509,"unpackedSize":19010670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLzGQCRA9TVsSAnZWagAAV8YP/RQFJ2iEQdogx5+dcNE9\nxFH34PpOxzhqCgtdAsVEdnjudYkiIF0JmBUjJKyVByFfYZZ9fTUz6hlKX7Ig\nnGPSbMrotAOZllPrMWvdTindKDVhCk4Ezw5dvv+DyC6S69J3JM1OjeO7Wkm2\nMyzVTXPFUHhpEyzU/91EteRMTYy5xfTsgalYVXFYG7cHhva637TN+0EXmCGG\nIQTyYhuixljs1a7nExwlZtx5DyMf+QfrzO24ZtQWJxGJOrP0viS8c4w2s9EY\nlr00vm+yv1Cp3IC59WZEaaiJwTFhOmYsEZ82Su/zJW1QZHyObm/JOz1vqQ9c\n82wkbXxIss5rDDGngO0RvAuIStjaOty4lcoy7VjqDeLJKgJJANk2fQaxkAuy\nUXZ5JgMM44dklwmm9i2PjIqckkyLAzDljA8JdFfEBsXOZ8cjany1lionQS8S\nlV8O/IyEgXw5nk+fkaJsDcTGl1f35fH2krrYWwa7zzQI5LDiqwYnlG40OqeR\nOhQsflJ8rbc7b9JbkT2+OwoWORv4POmCiC6y3YC7II7qj7NV4nHjigbLiBAw\nOCotlVwSzzwENjnta6WqwAUjGWfJFOhOggtYokvr6JAtrdHYnsI6glx6qFoe\nL0IIoB6IN2Te+WI3sxry1Y/SWwHA5B2GHWxqAlbCFhfuUN9gREIrlXRBbJpQ\nej5B\r\n=72eN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+1wc/3ZUTf9DN6hmVHcy5CColu2ZIjZRWfptID8pSNwIgRQDXclsyG518Fo3Qk4mHc2SbNVEJ3ksaZgSCMpshHkY="}]},"maintainers":[{"name":"bringg_npm","email":"hostmaster@bringg.com"}],"_npmUser":{"name":"bringg_npm","email":"hostmaster@bringg.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dashboard-sdk-pre_0.2.13_1563373967581_0.5974796056621261"},"_hasShrinkwrap":false},"0.2.16":{"name":"@bringg/dashboard-sdk-pre","version":"0.2.16","description":"Bringg dashboard SDK","main":"dist/bringg-dashboard-sdk.js","typings":"dist/index.d.ts","scripts":{"test":"jest","coverage":"rm -rf ./coverage && jest --coverage","jest":"jest --watchAll","lint":"tslint \"src/**/*.ts\" -e \"**/__test__/**\"","prettier":"prettier --parser typescript --print-width 160 --single-quote true --trailing-comma all --write  \"src/**/*.ts\"","fix":"npm run prettier && npm run lint","bundle":"git clean -fdx ./dist && tsc --project tsconfig.json && webpack --config ./webpack.config.js","add-to-staging":"git add -u","entity-generator":"chmod 777 scripts/* && scripts/file_generator.sh $1 $2","bundle-report":"webpack-bundle-analyzer --port 4200 dist/stats.json","bump-version":"npm_config_allow_same_version=true npm_config_git_tag_version=false npm version patch","build-docs":"typedoc --out docs src","build-sandbox-sdk":"git clean -fdx .sandbox/dist && tsc --project tsconfig.json --outDir ./sandbox/dist && webpack --config ./webpack_sandbox.config.js","sandbox":"npm run build-sandbox-sdk && cd sandbox && npm run start"},"pre-commit":["prettier","bump-version","add-to-staging"],"author":"","license":"ISC","dependencies":{"axios":"0.18.1","axios-debug-log":"0.4.0","http-status-codes":"1.3.0","immutable":"^3.8.2","lodash":"4.17.14","moment":"^2.22.2","object-hash":"^1.3.0","postal":"2.0.5","redux":"4.0.0","redux-thunk":"^2.3.0","rxjs":"^6.4.0","sha1":"1.1.1","socket.io-client":"^2.2.0"},"devDependencies":{"@types/socket.io":"^2.1.2","@bringg/types":"3.6.21","@types/faker":"^4.1.5","@types/jest":"^24.0.13","@types/lodash":"^4.14.133","@types/node":"^12.0.4","@types/postal":"1.0.29","@types/socket.io-client":"1.4.32","axios-mock-adapter":"1.15.0","codecov":"^3.5.0","faker":"4.1.0","jest":"^24.8.0","jest-cli":"^24.8.0","jest-fetch-mock":"^2.1.2","pre-commit":"^1.2.2","replace-in-file-webpack-plugin":"^1.0.6","prettier":"^1.17.1","promise-polyfill":"^8.1.0","ts-import-plugin":"^1.5.5","ts-jest":"^24.0.2","ts-loader":"4.3.1","tslint":"^5.17.0","tslint-config-prettier":"^1.18.0","typedoc":"^0.14.2","webpack":"4.10.2","webpack-bundle-analyzer":"^3.3.2","webpack-cli":"^3.3.2","webpack-command":"^0.4.2","typescript":"3.5.1","socket.io-mock":"^1.2.3"},"gitHead":"fc1c432d99fc03754af5b10eeec340bc4afe526f","_id":"@bringg/dashboard-sdk-pre@0.2.16","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-pcu6HagH35h0RKLPghCacWsNHl67NP30R8HPfHED+HPg8z+0CgQQ6bDhq45QnzLEijNVVWri5nDFD/HrRBAThA==","shasum":"02bf1b29f4db860a9359d6866d5ef32da4c1fe8c","tarball":"https://registry.npmjs.org/@bringg/dashboard-sdk-pre/-/dashboard-sdk-pre-0.2.16.tgz","fileCount":509,"unpackedSize":19033878,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdL0PNCRA9TVsSAnZWagAAV1YQAJzRc8anT2d6XJPxYePk\nHTXxb4RLTcCPPio59pADi2qur6l2D18f9Lf0JTSMM/O+pgcKg9oWYEP9hFq+\nj0yiWDAzNpwQVJhB9gFQTIhGG8m4e49pYWrU6zDAb6wrIYH9U0NbvOItorkY\njYwzBxuZ168yM5RwFFZtsP7CowEnaJUY/OS/O3LUNN68RFgp9Kx79Wq5satA\nFgibW4L0fazyvy7ROpbuN2/GvmeessioZVutfqQ0nQvOheMLSzl4eacMARpg\nY3SjDMYGzPJnQf9VdoWOeK2z4KkKHRoS3sh1KNXgMaNNDwnba9YbnH9gw93/\n1W21p1QlK65v0G424YE78bwBfVZzEystH2dQG/LqrASCkBVj9RZtbkXDCZUl\ny4Sj9Q0SW5Vd11SKKhAxtr7ks9KmKS9UogWrRzKAwYG4+5z+LakANGgN5bou\nHRvb0avgAj3lCMzFXeGJwz/flkDrT/22Y9bVc9mn+KV0FTdxlZ1YuMYAS1le\nDwH8PeugBndDAkpbfDqlMdPurzpCTBiu8DxT39uTYNKf0m4Qdf+tb8NGiiL7\nNTQKCY1bA7o1qBn/92EBdMJTS4Gyx2hHtTI5NpHeArKLGX9qpw0OIV7p8SzO\nIUM9LPlomajTRuCCXv6HbRq70H5AFRj6cQnQVgpNDIpdUi73K+4DuLVjnXGu\n5VnS\r\n=Uyj8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICuhXxZ2xA8NGuz4veijVFIwsnOKh4hfDZ7dc9PfHEZuAiEA3tEEOPLtU9c+tZG0QOa+NaFy9gcOj284PH1wLP6rjkQ="}]},"maintainers":[{"name":"bringg_npm","email":"hostmaster@bringg.com"}],"_npmUser":{"name":"bringg_npm","email":"hostmaster@bringg.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dashboard-sdk-pre_0.2.16_1563378636506_0.8080459738742567"},"_hasShrinkwrap":false}},"time":{"created":"2019-07-11T10:30:05.052Z","0.2.0":"2019-07-11T10:30:05.386Z","modified":"2022-04-04T20:41:44.296Z","0.2.1":"2019-07-11T15:09:28.720Z","0.2.2":"2019-07-14T07:32:20.767Z","0.2.11":"2019-07-17T11:31:25.189Z","0.2.13":"2019-07-17T14:32:47.783Z","0.2.16":"2019-07-17T15:50:36.747Z"},"maintainers":[{"name":"bringg_npm","email":"hostmaster@bringg.com"}],"description":"Bringg dashboard SDK","license":"ISC","readme":"[![codecov](https://codecov.io/gh/bringg/dashboard-sdk/branch/master/graph/badge.svg?token=T61tuD5MYe)](https://codecov.io/gh/bringg/dashboard-sdk)\n\n# BRINGG DASHBOARD SDK\n\n## Examples:\n\n#### Web ( >= ES5 )\n```html\n<!doctype html>\n<html lang=\"en\">\n<head>\n  <!-- ... -->\n  <script src=\"/bringg-dashboard-sdk.js\"></script>\n</head>\n<body>\n<!-- ... -->\n<script>\nBringgDashboardSDK.initWithEmail(email, password).then(bringgDashboardSDK => {\n  bringgDashboardSDK.merchant.get().then(console.log).catch(console.error);\n  bringgDashboardSDK.merchantConfiguration.get().then(console.log).catch(console.error);\n});\n\nBringgDashboardSDK.initWithAuthToken(region, authToken).then(bringgDashboardSDK => {\n  bringgDashboardSDK.merchant.get().then(console.log).catch(console.error);\n  bringgDashboardSDK.merchantConfiguration.get().then(console.log).catch(console.error);\n});\n</script>\n</body>\n</html>\n```\n\n#### Node.js ( >= ES5 )\n```javascript\nconst BringgDashboardSDK = require(\"bringg-dashboard-sdk\");\n\nBringgDashboardSDK.initWithEmail(email, password).then(bringgDashboardSDK => {\n  bringgDashboardSDK.merchant.get().then(console.log).catch(console.error);\n  bringgDashboardSDK.merchantConfiguration.get().then(console.log).catch(console.error);\n});\n\nBringgDashboardSDK.initWithAuthToken(region, authToken).then(bringgDashboardSDK => {\n  bringgDashboardSDK.merchant.get().then(console.log).catch(console.error);\n  bringgDashboardSDK.merchantConfiguration.get().then(console.log).catch(console.error);\n});\n```\n\n#### TypeScript ( >= 2.6 )\n```javascript\nimport BringgDashboardSDK = require(\"bringg-dashboard-sdk\");\n\nasync function runAwait() {\n  try {\n    const bringgDashboardSDK = await BringgDashboardSDK.initWithEmail(email, password);\n    console.log(await bringgDashboardSDK.merchant.get());\n    console.log(await bringgDashboardSDK.merchantConfiguration.get());\n  } catch (e) {\n    console.error(e);\n  }\n\n  try {\n    const bringgDashboardSDK = await BringgDashboardSDK.initWithAuthToken(region, authToken);\n    console.log(await bringgDashboardSDK.merchant.get());\n    console.log(await bringgDashboardSDK.merchantConfiguration.get());\n  } catch (e) {\n    console.error(e);\n  }\n}\n\nrunAwait();\n```\n\n### Running tests\n\n```bash\nyarn test\n```\n\n### Running test in watch mode\n\n```bash\nyarn jest\n```\n\n### Linting your code with tsLint\n\n```bash\nyarn lint\n```\n\n### Fixing your code with prettier\n\n```bash\nyarn prettier\n```\n\n### Linting your code and fixing it with one command(will run lint and prettier)\n\n```bash\nyarn fix\n```\n\n### Compile your awesome code for production\n\n```bash\nyarn prod\n```\n\n# DashboardSDK - Guidelines to writing new entities - 10/4/19\n\nEach entity should have 3 parts - Public API, Entity Store, Http Service.\n\n\n# Previous Status\nFor example we want to expose ```VehicleType``` to our end users,\nwe go to the sdk and first add ```Actions``` folder.\n\n<details>\n<summary>Code Example</summary>\n\n```javascript\nexport enum VehicleTypesActionTypes {\n  GET_VEHICLE_TYPES = 'GET_VEHICLE_TYPES',\n  MARK_VEHICLE_TYPES_FETCHED = 'MARK_VEHICLE_TYPES_FETCHED',\n  SAVE_REQUEST_ERROR = 'SAVE_REQUEST_ERROR',\n}\n\nexport const Routes = {\n  GET_VEHICLE_TYPES: new Route('/vehicle_types', HttpMethod.GET),\n};\n\nexport function storeVehicleTypesAction(vehicleTypes: VehicleType[]): Actions<VehicleTypesActionTypes> {\n  return {\n    type: VehicleTypesActionTypes.GET_VEHICLE_TYPES,\n    payload: vehicleTypes,\n  };\n}\n\nexport function markVehicleTypesFetchedAction(isFetched: boolean): Actions<VehicleTypesActionTypes> {\n  return {\n    type: VehicleTypesActionTypes.MARK_VEHICLE_TYPES_FETCHED,\n    payload: isFetched,\n  };\n}\n\nexport function saveRequestErrorAction(requestType: VehicleTypesRequests, error: Error): Actions<VehicleTypesActionTypes> {\n  return {\n    type: VehicleTypesActionTypes.SAVE_REQUEST_ERROR,\n    payload: {\n      requestType,\n      error,\n    },\n  };\n}\n\nexport const vehicleTypessExtractor = (response: VehicleTypesResponse) => response.vehicle_types;\n\nexport const getVehicleTypesRequestAction = (sessionService: SessionBasedService): any => async (dispatch): Promise<Actions<VehicleTypesActionTypes>> => {\n  {\n    try {\n      const vehicleTypes: VehicleType[] = await sessionService.handleAuthorizedRequest<VehicleTypesResponse, VehicleType[]>(\n        Routes.GET_VEHICLE_TYPES,\n        vehicleTypessExtractor,\n        BringgException.serviceException('failed to get vehicles'),\n      );\n\n      dispatch(markVehicleTypesFetchedAction(true));\n\n      return await dispatch(storeVehicleTypesAction(vehicleTypes));\n    } catch (e) {\n      await dispatch(saveRequestErrorAction(VehicleTypesRequests.GET_VEHICLE_TYPES, e));\n      throw e;\n    }\n  }\n};\n\n```\n</details>\n\nWe continue to next folder ```Reducers```.\n\n<details>\n<summary>Code Example</summary>\n\n```javascript\nexport const initState = fromJS({\n  items: {},\n  requests: {},\n  fetched: false,\n});\n\ntype requestErrorLog = requestErrors<VehicleTypesRequests>;\n\nexport type vehicleTypesState = ImmutableMap<{\n  items: Map<number, VehicleType>;\n  requests: ImmutableMap<requestErrorLog>;\n  fetched: boolean;\n}>;\n\nexport const storeVehicleTypes = (state: vehicleTypesState, vehicleTypes: VehicleType[]): vehicleTypesState =>\n  state.set('items', immutableKeyBy(vehicleTypes, 'id'));\n\nexport const markVehicleTypesFetched = (state: vehicleTypesState, isFetched: boolean = true) => state.setIn(['fetched'], isFetched);\n\nexport const logRequestError = (state, requestType: VehicleTypesRequests, error: Error) => {\n  return state.withMutations(state =>\n    state.setIn(['requests', requestType, 'error'], error.toString()).setIn(['requests', requestType, 'timestamp'], Date.now()),\n  );\n};\n\nexport const vehicleTypesReducers = (state: vehicleTypesState = initState, action): vehicleTypesState => {\n  switch (action.type) {\n    case VehicleTypesActionTypes.SAVE_REQUEST_ERROR:\n      return logRequestError(state, action.payload.requestType, action.payload.error);\n    case VehicleTypesActionTypes.GET_VEHICLE_TYPES:\n      return storeVehicleTypes(state, action.payload);\n    case VehicleTypesActionTypes.MARK_VEHICLE_TYPES_FETCHED:\n      return markVehicleTypesFetched(state, action.payload);\n    default:\n      return state;\n  }\n};\n\n```\n</details>\n\nThen we go on and add a ```Service``` folder.\n<details>\n<summary>Code Example</summary>\n\n```javascript\nexport default class VehicleTypesService extends SessionBasedService {\n  private store: Redux.Store<CompleteStateStructure>;\n\n  constructor(session: Session) {\n    super(session.config.getApiEndpoint(), session);\n    this.store = session.state.store;\n  }\n\n  @singleConcurrent()\n  public async getAll(): Promise<VehicleType[]> {\n    if (!this.areVehicleTypesFetched()) {\n      await this.store.dispatch(getVehicleTypesRequestAction(this));\n    }\n\n    return this.getAllVehicleTypes();\n  }\n\n  private getAllVehicleTypes = (): VehicleType[] => {\n    return this.store\n      .getState()\n      .vehicleTypes.getIn(['items'])\n      .toList()\n      .toJS();\n  };\n\n  private areVehicleTypesFetched = (): boolean => {\n    return this.store.getState().vehicleTypes.getIn(['fetched']);\n  };\n}\n\n\n```\n</details>\n\nThen we finally can expose our ```API``` folder :)\n\n<details>\n<summary>Code Example</summary>\n\n```javascript\nexport default class VehicleTypes {\n  private vehicleTypesService: VehicleTypesService;\n\n  constructor(session: Session) {\n    this.vehicleTypesService = new VehicleTypesService(session);\n  }\n\n  public async getAll(): Promise<VehicleType[]> {\n    return await this.vehicleTypesService.getAll();\n  }\n}\n```\n</details>\n\nAlmost 200 hundred lines of code just to expose simply ```getAll``` of ```VehicleTypes```.\n\nWe tried to simplify the proccess by creating ```BaseStore``` and using it in each new entity store instead of rewriting it each time.\n\n\n## Entity Store\nWe want to keep each entity state up to date always(http requests, realtime events),\nso we use store managment class to do it.\n\nFrom now on we can use a new class named ```BaseStore``` which will be our base of every entity and manage its state.\n\nFor Example:\n\n ```typescript\nexport default class ChatConversationStore extends BaseStore<ChatConversation>\n```\n\nHere we can extend our ```BaseStore```  and use it however we see fit to the new entity we develop(take from store if exists, if not fetch from server and store it).\n\n\n```typescript\n  async getConversation(id: number): Promise<ChatConversation> {\n    const chatConversation = this.getItem(id) || this._fetchConversation(id);\n\n    return await chatConversation;\n  }\n```\n\n## Http Service\nHttp service is pretty much the same all over the sdk, here is simple example.\n\n```typescript\n  GET_CHAT_CONVERSATION: new Route('/chat_conversations/{:id}', HttpMethod.GET)\n\n  public async getChatConversation(id): Promise<ChatConversation> {\n    const chatConversationResponse:  ChatConversationResponse = await this.handleAuthorizedRequest<ChatConversationResponse, ChatConversationResponse>(\n      Routes.GET_CHAT_CONVERSATION, //route\n      defaultExtractor, // extractor func can be passed here\n      BringgException.serviceException('Failed to get chat conversation'),\n      undefined, //payload\n      { id }, //route params\n      {}, // query params\n    );\n\n    return chatConversationResponse.conversation;\n  }\n```\n\n## Public API\n\nHere we decide which endpoints and events we want to expose to the end user, which will be called from the entity store.\n\nExample from ```ChatConversation```\n\n```typescript\nthis.onItemRemoved = this.chatConversationStore.onItemRemoved; // remove event\n\npublic getConversation(id: number): Promise<ChatConversation> {\n    return this.chatConversationStore.getConversation(id); // get item endpoint\n}\n```\n\n## BaseStore\nHere we implemented [RxJS](http://reactivex.io/),\n\nwe have our main stream of items ```$items``` which on each action(create,update,remove) we emit to the stream and accordingly aggregate the most update state.\n\nEach store extends this class can use ```$items``` stream to aggregate which data he wants.(for example from tasks stream aggreate only open tasks.. )\n```typescript\n  state$: Observable<Map<number, T>>; // aggregated state from main stream\n  protected items$: Subject<Action>; // 1 main stream of items\n\n  // Event Handlers\n  protected onItemUpdateEvent: (item: T) => void = _.noop;\n  protected onItemCreatedEvent: (item: T) => void = _.noop;\n  protected onItemRemovedEvent: (item: number) => void = _.noop;\n  protected onListUpdateEvent: (items: T[]) => void = _.noop;\n\n  getItem = (itemId): T // Get Item From Store By Id\n\n  addToStore(item: T) // Add item to store\n\n  updateInStore(item: T) // update item in store\n\n  getItems = (): T[] // get array of items of latest state in store\n\n  addItems(items: T[]) // add array of items\n\n  onItemCreated = (fn: (item: T) => void) => // set event handler for item removed\n\n  onItemUpdate = (fn: (item: T) => void) => // set event handler for item updated\n\n  onItemRemoved = (fn: (itemId: number) => void) // set event handler for item removed\n\n  onListUpdate = (fn: (item: T[]) => void) // set event handler for list update\n\n```\n\n## Entities Generator\nIn order to save time and make your life easier, there is a script to generate the basic\n implementation needed.\n \nYou can run it with : npm run entity-generator [name] [bringg-type-name]\n\nThe script will create a folder called [name] inside src folder.\n\nThe folder will include Service, Store and a few more files with basic implementation\nand according to our convention. \n\n## Next Steps:\nIn order to improve our SDK and our developing proccess.\n\n- Combine Store and Service to one.(instead of copy pasting same service all the time)\n","readmeFilename":"README.md"}