{"_id":"falcon-vis","_rev":"27-3fa119b0eb5ff41fc940edb43145f496","name":"falcon-vis","dist-tags":{"latest":"0.17.4"},"versions":{"0.1.0":{"name":"falcon-vis","version":"0.1.0","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.7.0","cwise":"^1.0.10","d3":"^5.5.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.39"},"devDependencies":{"@babel/core":"^7.0.0-rc.1","@types/d3":"^5.0.0","@types/jest":"^23.3.1","@types/ndarray":"1.0.6","gh-pages":"^1.2.0","jest":"^23.5.0","node-sass":"^4.9.3","parcel-bundler":"1.9.7","prettier":"^1.14.2","rollup":"^0.64.1","rollup-plugin-commonjs":"^9.1.5","rollup-plugin-json":"^3.0.0","rollup-plugin-node-resolve":"^3.3.0","ts-jest":"^23.1.3","typescript":"^3.0.1"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"b50eb818961ae7089e6c41158bce8f7b4abdd1c0","_id":"falcon-vis@0.1.0","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-mi5KrbTESmZFqI7XKhjK+Mu4ikSI8Mo7ytZSQhqFlWMCcneGA1Dvj0nWuYG17NxZeqxn3HG+t7uEsf9U/GnUNQ==","shasum":"a3b79f3f12eb956648d698987e1adf5b5859d7b7","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.1.0.tgz","fileCount":43,"unpackedSize":24636242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdaq5CRA9TVsSAnZWagAAI6kP/0gQiE5WUsuKTe1lmtbn\nhbj73UPJCnyxoy73L7Tn4tdmSPrzzN3KknHUCx05KZgFyT+hE2XvbLFpw5Bx\ndc+yppqpDj7PqHMBAF+hvpkesvCoNYeiv75M0P4Nta1OZ+2YARwop6Jcal6Z\n+xVYVzLnLUwilUXy/7/TbEFhRLxYvwg4HE9aMgD2unSsCtcxMTOxfMYrWqtL\nY/9mNDVnsQtuCeqS1hxZBr4PpGRPWnwJAJMuXmBkQnaISejH0+Gg+pCLZsVB\nus4WMlEEqyBGii8rtei1UBu6TqJTVRUyeGfZe9WcN1wtYQCFBGdWoPn+XTNf\nFyYXQKAUFQldfXhTxLdLsQjj71LwOMOI3OyEepY31qkDxhZiCHZrMNND0Bpo\njvX9kxxXQDVdKlSaM/6277bE0lTazxDK6Ypa8nfnctLh1CxbqM/+HL0fXoax\nkll62Dg8v0cR3s58SlN8oat40YVEgvvfnkRcUC81OSQY2yRBt4/2UgDqExSy\n5RJFRNlLOg2tfNHVF10zNWgdJPvWZJMSHYBb1cbZDN/YVaCUWUrg96BoSJCp\n6hBsaYusqJWl1k2c8AG0Cv/AiZOFccx/b30OVeR3MR+6uKzAJjHAoUUlT6+H\ncqrkNopiltj0enBbKuxno9b/jCT924YirCvJIjBQ5Blafs3iIH0YO2Bk0M2a\niU4W\r\n=5r+u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHxE5j+in8b8fDhlYmjnspLsFk+FHONfk1sGqboSKr+YAiBycq4Fg1E6NoJF0O+zaCE6K1O5qnlUreD5fet2mfz/PA=="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.1.0_1534438072893_0.33692352591664565"},"_hasShrinkwrap":false},"0.6.0":{"name":"falcon-vis","version":"0.6.0","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.7.0","cwise":"^1.0.10","d3":"^5.5.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.39"},"devDependencies":{"@babel/core":"^7.0.0-rc.1","@types/d3":"^5.0.0","@types/jest":"^23.3.1","@types/ndarray":"1.0.6","gh-pages":"^1.2.0","jest":"^23.5.0","node-sass":"^4.9.3","parcel-bundler":"1.9.7","prettier":"^1.14.2","rollup":"^0.64.1","rollup-plugin-commonjs":"^9.1.5","rollup-plugin-json":"^3.0.0","rollup-plugin-node-resolve":"^3.3.0","ts-jest":"^23.1.3","typescript":"^3.0.1"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"c382e66c46718b007cfb19e96cbc4a345668e47c","_id":"falcon-vis@0.6.0","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-OFcxlXnR5nC9fmGGOzrtCVSkQYipCvQTpJEha0y8xd8AiL8LMyotV/ZO827cQmoZggJWV6RDoIpj7ZtxX15xIg==","shasum":"397cfd961a470bdea5f8d31a4cdaff22cea9cf88","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.6.0.tgz","fileCount":43,"unpackedSize":24636247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdcSNCRA9TVsSAnZWagAAGjcQAJUxrfy3zGah5dhgvb3T\nWmexGIkKa8gbSVBDePEqRhHENbuNKVUMdZarhZA9gC5xMRKKmEaT61SOZfaV\n/Yn5WUE1cAkfPB0KuE3jkBRtX+PbVCBZyyqa3RH2hu40j6xaxZIqUkjhcQOK\n3MugZpGwlU4hK2JY492WzXf42pHBkb8URN+vEWzbQ3iFI1avxgl8GW2Q9g32\nDFpeMbeepf17OuIFkFl665EStxXU9ai57Py8aj2t1fUf6UNTiI2AwflUr1uj\nwoAF/uYB75mlfdyHhKBbS4KzxrWOEPla9Oq5auLjtc3eJDCdVkGaqWPhf5RQ\ngoa63v5jjJsS6CCQ6jj2Bxzbg7RcjP8Om6xw8yrPIEftA+5FAWWAxNsbux85\nGtDlK21H+CZVmXC0zdmA90vllUuGCZD6rZ1EZ7pGffql+2myasmYiN1d6cBf\nGs/Ojw5uYTOKFK8dmoIE1rUVnqh0tLotBido9fkDteM38RiD5f27lJjEbWMk\nnQHbCzUaoI9k9LasUhWCKZfXbMjrW/I1hvjSizA/J1uGG9ZYEqoLsYI4cvRG\nM+h4DckD6eNs5uQoNF96ojLemBG1uw+dBVp2zrcKmiDKnHL/k8kVb+Rppwr6\nhHJDvIGTE9H+1nnS6yyFUFgZnW3xXIKrLuZn+A4gTGiFkJEMihfgRzTUNRRr\ncaVf\r\n=stZz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBK8q2Z208lvH40Fl15Mr5tE9NDb0w8WCE3euHnY9TR0AiBADkfKzT+57wCcnNfyLT0HL4I0Zmf7OV0xEoQF5N4BwQ=="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.6.0_1534444684163_0.10664396702853307"},"_hasShrinkwrap":false},"0.6.1":{"name":"falcon-vis","version":"0.6.1","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.7.1","cwise":"^1.0.10","d3":"^5.5.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.40"},"devDependencies":{"@babel/core":"^7.0.0-rc.1","@types/d3":"^5.0.0","@types/jest":"^23.3.1","@types/ndarray":"1.0.6","gh-pages":"^1.2.0","jest":"^23.5.0","node-sass":"^4.9.3","parcel-bundler":"1.9.7","prettier":"^1.14.2","rollup":"^0.64.1","rollup-plugin-commonjs":"^9.1.5","rollup-plugin-json":"^3.0.0","rollup-plugin-node-resolve":"^3.3.0","ts-jest":"^23.1.3","typescript":"^3.0.1"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"e70cded4ff9d52ec9e09b4917af0216dfc9fbd94","_id":"falcon-vis@0.6.1","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-4FJptAYJWrle6R5eWhKQH4l0XqYIwyzb7rAUMc3xO2BC9V5Eum81i0Ji0yZh+OsZSNagoFFyAZsNuMzEkwaGbg==","shasum":"d725422c0ee74513e0eeee028004904b233ba841","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.6.1.tgz","fileCount":43,"unpackedSize":24636707,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbde3yCRA9TVsSAnZWagAA8BQQAKOKvdSTee5Sod5v2oy7\nAs2qTqNiZia9JNmfiBqgGb1MutAwp+x9hcjJGettOfjCx6oQArQnZduvhUh+\nh54I9XztCDA91UGXI0lgQAU+Wjs6D7wbDCMMX2Vj0Z1JrZSN6VjespzLLrp7\n/VJuEi3IkdQ6ZPeyEh6VWPFepP1WtzZPWjF27hfD8rXaa2BZwD02hOptKkiF\nVdMbId1y0KBrZ0gXZkj9DD6MbExQ66nP8xHwDolPJPvVjQtwJXcExP/fBrZN\nXOqTIAzCvvbuCX1IXnA/fZgXW8Yh5mr1nYsCM4eKqm0xmkeLYawUbQUpIP3Y\nyzPM2+cRHwfsz4zzrYrH1PlBSDV+WLhGfoXj6mV2Y9axBbdJ5M+U+62kEIKn\nFmdeGWbs24ekg+NnZnLjCZRx7filku9tRu95K7hGFMSwLkBbHRnB35alagja\nbAGhYuoGsCRC7WcqKSGIMHSgRKWp0O5p3JFodj/yvW7RmY0YnZ8p/oKal/E6\nYDVsfUYkyOFiAXih3GxFhuhuubSY8QQrGDXk9Vf3Ag2S7Dt4tyR5PuW7+BLJ\nesTonc4lrjrmiYOmoEn1isgCxagQyTZtneot0th/UMgVSO/fuVAH65itFGPc\n3oOuHl4E49Q04vWHALrTx3nTqIOWbl5W9z3ADNyro5bKiTa4+8HgRQWubXNY\ngjlx\r\n=WjMc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFnfIWJ9K1OTIO89+Xkqwer0gS0V8J8/zVKCmK6r003gAiBI0YVHI5idwJ7O/wzfD2EDJj/lG9m2nJE7GZjfA05yXw=="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.6.1_1534455281870_0.579112671517513"},"_hasShrinkwrap":false},"0.6.7":{"name":"falcon-vis","version":"0.6.7","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.7.1","cwise":"^1.0.10","d3":"^5.5.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.40"},"devDependencies":{"@babel/core":"^7.0.0-rc.1","@types/d3":"^5.0.0","@types/jest":"^23.3.1","@types/ndarray":"1.0.6","gh-pages":"^1.2.0","jest":"^23.5.0","node-sass":"^4.9.3","parcel-bundler":"1.9.7","prettier":"^1.14.2","rollup":"^0.64.1","rollup-plugin-commonjs":"^9.1.5","rollup-plugin-json":"^3.0.0","rollup-plugin-node-resolve":"^3.3.0","ts-jest":"^23.1.3","typescript":"^3.0.1"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"f342143dac7b197f859e4563384126b3a9e1dc63","_id":"falcon-vis@0.6.7","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-Fia+Lhw+Q94vK0ll23PYkMZA0f7YUsn8BTHa+D1yUuVXmDWg/Wmi6IGtYOjZxGakGesRlbaEO5HJF0m+OHpeBg==","shasum":"3adeca18f0551fea5b5feb52a3eb4279680aaf6e","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.6.7.tgz","fileCount":43,"unpackedSize":24638467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdgWOCRA9TVsSAnZWagAAu64P/3vw0qEht5QV4PTSoktb\ndvrLCImX4N2EVvJJp8s0rYr3lgwMXnKwgfv8jT/6IE1QC9ZJyQbbjh3kWF2p\ni/dOcVufsQMtzSYjVcOEYKrMfBRlpn9bJyjOHeFrz9ruMSqA7aSeDdk2686/\n0o+GO2AKVElIMTVUZIRxY56oc+2IqRyhU++wuWmhV3+qZ0uWsBEABYpwLR+T\nyZcjBtRJFxkx8Sv1k+sPuehetaK0iRBK/wRHNb/LLVMS0bEgY1CedjkQTlvH\nRVB84EL7PsIlGIoCGP32a2vS4pUQ6oB6aus3uP5UvbsLBGQUmUzRLrYsfIbi\nk0jlukMV4GdMj1WeBht9aRXhcTiH/eGvu/VNnAfiGgWg0KIPaLHk6crFMcfp\naT+wuwC1uU0nZwPKjvbNDbvpW7ktHozX0w14TQRPleT7dRwDrfBpqwcT6CKe\n8RRIuBFxRFBGSJ6gCJ1FsFuDmdgMAPxzaxUuvvgczFHzTJNr2l/lKOpS3rC4\nNUdS0DQ9sGqA6JujsKgvN2E805MoOQZQnv/yvK6/SRn6IWRvRtQPZqLD+eyR\n0n/OYCz4qVfBJSRGQ+rWWXYB5l9ECuNzBYObDSD1Xy1tev50y9mpagRu5JQD\nKRTDYwQlXZ8ycaC115lnGxCwGw+MxJjbN4YWosCSM2MtIouyl5iRanOJbZQ7\nYN1g\r\n=24L8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFM4coyW1c5NHVteL0iQ1H8Cfh3DzOeZzX3ds6VZ2pbFAiAtr0mCUpmgmKYNLH/ewQV9c3PjKRy9pMv6OWNA5afHwg=="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.6.7_1534461326034_0.3742880264426287"},"_hasShrinkwrap":false},"0.6.9":{"name":"falcon-vis","version":"0.6.9","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.7.1","cwise":"^1.0.10","d3":"^5.5.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.40"},"devDependencies":{"@babel/core":"^7.0.0-rc.1","@types/d3":"^5.0.0","@types/jest":"^23.3.1","@types/ndarray":"1.0.6","gh-pages":"^1.2.0","jest":"^23.5.0","node-sass":"^4.9.3","parcel-bundler":"1.9.7","prettier":"^1.14.2","rollup":"^0.64.1","rollup-plugin-commonjs":"^9.1.5","rollup-plugin-json":"^3.0.0","rollup-plugin-node-resolve":"^3.3.0","ts-jest":"^23.1.3","typescript":"^3.0.1"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"e223f85c235a68e376a78be8da364e7244f20a69","_id":"falcon-vis@0.6.9","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-rvs5c05yEgTwcJTzwRvyk6yXOchx/I5J/zEfcNLJVo4mbd3whXFseso+6bCdVIFWjHV7Pw0pN3PJzlBOZOIByg==","shasum":"be11a266543574104952c2947b99c39983711355","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.6.9.tgz","fileCount":41,"unpackedSize":12568054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdxOZCRA9TVsSAnZWagAA8qIP/A092hn2afw+Fd5GH+7/\nuNuzZFbAQqEsF5HjCcywmmLVVyovyLW06X88NWh1UgS+rdCl1oIamzonIg3D\nyeUBtl4mrVWkgx1UrerbLkBsMURaV/kh35YfGwZiKCpGfPvo1IGXyNYvm3kT\nwNFJILnOInJZ6lfKTUsrbz7i3Stfh0hXlIfGV0i8ET8PpqwDk3OKgl7InkrD\nmWmILtgqMC4LXTAQe8fiI3pmZymvwi4erprkadf0K5SourSQqeR4n8mL6l+w\n69kKPfrHrW/8B/JzLr9SbZacjGDsvOt+NdTN7E5EG8MGqon2g5nepfBEO7dP\nmXNTJnn5dBWxbpfIRCvWx6BJVMbXjy89RG5sb5hN1cwdETPZRPnTnqK59mBB\nwtxbMRgRqSbhgT5zS+ehjLAaNMllRkPd4pv4sMKKHeKUK9CMy7G4jgc0wMGI\nhrNGFBCFZuN4N389NNJ4ilhYs0WCx3bpDK1sEljNun03CnU+vLxWxO5XVJsA\n0tu7M3EAQQ+nFbXiVvrm1K2Neek1nGj1xllzyAAKlnXihzRBkgQZ0XS0Pisu\n9MTfoZoEtg8oLdnSHktjzhZT3+/NG3I0OihateRRhlTIpysqWSNgd37zaO7y\niTCvh7p6yVwM+9nCpJHYxvEmVPdMZk00NAqHp1s+ZSS9G1/E2g/ePaegqihD\n+Ht1\r\n=qU3q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqoBDKSMUpSO6fiLlNzaNNxHfXoCe+fPUzjBKUHl7HVAiBys3DkHGL11NJ2YU582fjCFjyXGxsuEhe9AVNRscUeIw=="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.6.9_1534530456234_0.2054210923139641"},"_hasShrinkwrap":false},"0.7.2":{"name":"falcon-vis","version":"0.7.2","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.7.1","cwise":"^1.0.10","d3":"^5.5.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.40"},"devDependencies":{"@babel/core":"^7.0.0-rc.1","@types/d3":"^5.0.0","@types/jest":"^23.3.1","@types/ndarray":"1.0.6","gh-pages":"^1.2.0","jest":"^23.5.0","node-sass":"^4.9.3","parcel-bundler":"1.9.7","prettier":"^1.14.2","rollup":"^0.64.1","rollup-plugin-commonjs":"^9.1.5","rollup-plugin-json":"^3.0.0","rollup-plugin-node-resolve":"^3.3.0","ts-jest":"^23.1.3","typescript":"^3.0.1"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"0ded2558e6b489e4b77ef513263df4d0b2445925","_id":"falcon-vis@0.7.2","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-/U2XAFlH5sqzZilca8p6D4KxYK3YYc2z97BsaQ8tEKFekDxQjtXWbK6UjftMr7CTu761EOk/NiOgwmq1BoJSMw==","shasum":"c60e7c8b20fdc74e193d83194aa9cb2975f76601","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.7.2.tgz","fileCount":43,"unpackedSize":12614084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbgERLCRA9TVsSAnZWagAAc9QP/1g0bPLB3oGOMBViHsCx\nhaFg5C9GQhM6NF6zaFDUbEq9n41LLq6H6KXpNN9R/hhs+dgpcyz8HrokZ0Xd\nsIpsiq8FWWaCBQP5WBr7H38bYoiXxh40iuXOuwY3JSxWS39klJAT/7tey4Qo\noI+s39FNbJp7RFevLgTN+9vImUu7HRQnqhVIkyiZlHjK+QEuT6ehgkGaP3lB\ndVqqkLaABHUx7oICGKKB+xx04UVYJGrS9iApRQDKgvypBIYPjEFT00HccCcY\nzN63z9CrStQRK1TaCgjyEJp55UuQputvq1J3slh3mtl/zyGYDqp79ygUsrog\ncAPmpIVcz/TOWwB4/3OzgC8uFBGB+Qa8JQjhbC4H1+0jGjPAD/wAUiJapA8R\n7/5z2buN1WLZFIRXchnUOI8Sq7T6e/dvSmeTRXN6gMa5TBZp5oB/V0UVvZw1\nDADDi2QHXWJ3A1xhdrFl1bFY0eWwztRabtW4+ffYxq/boMxx8f83vPx20QHi\nC5+G5OK77fFuIPCToB+UsliqxHUj4SfALvTCigIULCZ9FCLg+QXtIXMVCA+g\nerJyvSS6HX/olpdARu/IruHIjVSUFyiu2Vt/kwOEgv4RP0jeA3+LmZe++AIx\nTClVjkn2pTVCj0dN+FqmlqLasnGyJhpuDoYuLhhIyyaBUkKaaB/1xDDYw0mr\nUmoG\r\n=jdMa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXcND6OS66MYG1s4sURU/50WGilYxAnQt3HmpZb2D2qAIhAN5QjctRq5Iz0HaBpQl2Ife+daXc8QEObB4p4d1Delg8"}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.7.2_1535132746555_0.11151814526460901"},"_hasShrinkwrap":false},"0.8.1":{"name":"falcon-vis","version":"0.8.1","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.9.4","cwise":"^1.0.10","d3":"^5.7.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.43"},"devDependencies":{"@babel/core":"^7.0.0","@types/d3":"^5.0.0","@types/jest":"^23.3.1","@types/ndarray":"1.0.6","gh-pages":"^1.2.0","jest":"^23.5.0","node-sass":"^4.9.3","parcel-bundler":"1.9.7","prettier":"^1.14.2","rollup":"^0.65.2","rollup-plugin-commonjs":"^9.1.6","rollup-plugin-json":"^3.0.0","rollup-plugin-node-resolve":"^3.4.0","ts-jest":"^23.1.4","typescript":"^3.0.3"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"730d4f7fa17b2832e126cf697fcc321dbb495754","_id":"falcon-vis@0.8.1","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-ib1ZNvv4l3u3/my/TEkiyAS/QvoY3c24ERUFPOAmr+/BsP8G2EasVx0iDcbSZ3Bws7rSufIOfARmGqr3g1gJ0g==","shasum":"c891d1219bf87cfc8be57042149dc5c0d8e1b2d9","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.8.1.tgz","fileCount":43,"unpackedSize":12636419,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkg8oCRA9TVsSAnZWagAAY/oP/idS36mt3EneUGCZusB1\nU8dunDl3ia0eE33XeEr2gHMGZmXOCX0vpILgPnJHkvIA7SmqkPFXXYu3KPi2\nlMMm+QyDgciim9WvzKcQUuD2yEtKcidPa3hRs1hWK7Jw/NDDvp6jdHvI7HJy\nMMj6K0ZOE8UTWZmbvJsV3djER97Q9IPcHiUyjBxScR7YgG9zghkQbOEJREok\nnvdMFvn50Rz/rXrO0lv7+kAMAu3jMqq90dhDqPz49KUTkhZXJDWblTmuD9xd\naazYckruIUl6HB3pnPXEZYy0SO4Avk1M20N88Q7m+6OhbDijo4uvPtpU+l52\nJvWuvR2eF8t2a05/U2Gc4wFetZ09JNak3LZZtK+77Ra2B72qRXm4+qgGcVlr\nQYxGBHtoAdJAAS6XReYunvOgUnfJxnQRqV7Bz074xmmWdh+GM2fLjP5HioMD\nN+0d1XvnkFblhgwgek72nxg1NrcTFfO80BevLgk/176qhuQ21EI37aDnCKOF\ngDZmouA4+Up/FGxKHocfznKoWOw/1hs3LTwAWD2N5fS9VI6uKRDsI2sMBtLZ\n5dkPRjOCyW95F/dPCwWoXJL0di94LG6WsyCVxmGVFxZPCF8ZStoHH7UNHsSL\nBoKNm1KDeIylyIC+C3sHSXNnSdpVzziCqNw1XdJf3AHh6zTyI6e05Z5nbqNk\nLjLP\r\n=TjaM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGua9PHXwWd+okgtYehlkHBTSVjxK/xUgQzibwb8JWGXAiAiVBuQnWH36iT3aIKZmmxKYexBqhxg1jvXLoWzDW8Cpw=="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.8.1_1536298790738_0.35925460727127767"},"_hasShrinkwrap":false},"0.9.0":{"name":"falcon-vis","version":"0.9.0","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.9.4","cwise":"^1.0.10","d3":"^5.7.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.43"},"devDependencies":{"@babel/core":"^7.0.0","@types/d3":"^5.0.0","@types/jest":"^23.3.1","@types/ndarray":"1.0.6","gh-pages":"^1.2.0","jest":"^23.5.0","node-sass":"^4.9.3","parcel-bundler":"1.9.7","prettier":"^1.14.2","rollup":"^0.65.2","rollup-plugin-commonjs":"^9.1.6","rollup-plugin-json":"^3.0.0","rollup-plugin-node-resolve":"^3.4.0","ts-jest":"^23.1.4","typescript":"^3.0.3"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"9f2fec5db756c8ff98bb6f8fab9317d3c64a57d6","_id":"falcon-vis@0.9.0","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-nMXwfvy/S+ZiIoTOM4AVGOwQriqE2xZN/OV96hEwW/UJ5jdAjS94afI/23LbZFYpvmoLLP60sT52c+kOxtB8tg==","shasum":"e2d04682eeeff6b1dade80fee0f2fe26a0afed69","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.9.0.tgz","fileCount":43,"unpackedSize":12644894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkxmbCRA9TVsSAnZWagAAugkP/23SuDuLNY5OVwhyCEoD\nG+o+agctzhkpX4tBwxCMjj85M7mzvaqFRLGTX9bF60aCnvEG4DwZCor8ehj/\nsT4/bVpadK3re3Q7OUYmkjrjwokiK2nTSn04lPA91hg57dL5gPMxTxlcVwyg\nZKb05QRhjQV2lp+fAOqPwjk1Ugbu77DOX/oPtF4G20ISujNTP6bKiNRHDsyg\n2jI5xqDA2EKS4RSjIp+Z7EQZVQGwMYoCJ9XEYyov+JdwvwvD59p7Y94pYdjr\nHage9u4fdgtkgHG7fePN5YFAK1AmF097k23A5IRRaog7bgYQCL2uS2Hc1PUc\nwq05HX7X9flKGkZlfnt17ydcaGyA/pIfeFniV4CwBpBR2Fb/ia9DKFY+kx1B\nvBwI4pZ74y8vg3jZunq0Gxps9RKsz1u41VjtmOTB1RxGnF6CA9m3ZWuvwu//\n0c+TlcoAb2UNG/t5kBztDlLZpOGyu8YttxO1bUary6gcrRvpJvdcCnNUTkiy\n4DXlfSqIX5eI1bJpCMbn3NbpgCod7OJfNB5M9EZdQHNA0gY8QRO8M7X7f1Qt\n4sjb4adqVf7Zo/8q58kqCMxKH56OFJiFqpjAspBA+oskh+KmFoIngUPFet5b\ndNW1Dd2XCS4npiMndeaobMRMokR72T3uqi9NdF7HXjZVVfZbXgkKeR+Y6Y9J\ngrwF\r\n=wzJ1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGiyb6lqszoKobhxi0pCed3FzzjIG+OXNWpRmTEruyyhAiEA8M6GfIieOrzks4IQWhLUEsEgOBKcky6GMh8HUo/jcqY="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.9.0_1536367002324_0.20954794677014954"},"_hasShrinkwrap":false},"0.10.0":{"name":"falcon-vis","version":"0.10.0","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.10.1","cwise":"^1.0.10","d3":"^5.7.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.46"},"devDependencies":{"@babel/core":"^7.1.0","@types/d3":"^5.0.0","@types/jest":"^23.3.2","@types/ndarray":"1.0.6","gh-pages":"^2.0.0","jest":"^23.6.0","node-sass":"^4.9.3","parcel-bundler":"1.9.7","prettier":"^1.14.2","rollup":"^0.66.0","rollup-plugin-commonjs":"^9.1.6","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","ts-jest":"^23.1.4","typescript":"next"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"0a69d9db43971e559864dfbd6913bd534975df60","_id":"falcon-vis@0.10.0","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-d3NLGYRpGZKdQZj4GeoIZmRJaaXOcYZuzzkl1y9KEfHDIb6UfIyB4GpIoL8EGsIWs+JXoN57CF3/Y1Pvqd3t/Q==","shasum":"6a9d5f9f58eebceeb2f43c716097ec74976d2c19","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.10.0.tgz","fileCount":64,"unpackedSize":20733438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboEL2CRA9TVsSAnZWagAAf9gQAIg+y40yo7t9jCAGVhe/\n/Hvc7decZ3xsNZXHb/tVB3moA9X4N+HS4HK6F3OJJMj1gR0JsK9Khghh9ulr\nHQ46erqfipfcov2u+8zh4jF/Jtw0BPiRKVEVKTlOKdYNJ8j35ADB00BY//kd\nZ1e5hwW7cfktSg5C97LhEe7tqYCbz5u7Tu92IRSx9qp5tdhra4zj2w4+rMgv\n+tL3fGsgPk8lf0Q5ybgJwBCq0T3e5TgoJRydyKtFqoXD54Fg/hyLhvt5lKtH\nySYTyCOqheNv5a2ZC/yXkv5xX7U8N14KezSyGtGz+g/8Nv5AIp85LL8horlA\nFSlZKtTTfRhN2X2fwOQz1RduHQV/LePZmf+wLeYU98OT9U4xg3ugbTRCfBau\nOn/AVYssathYxuozml7ZNbd17mwmDxkO/b++lU5949b7qGaa3rCNwCkjyPsW\nZHlTS/9RWR5QTNfhlFUeQ60W3IuFtVaKYuLUJ8XneL2ibf5db51tpSdxfTre\nyFtzFdqg6y6LGNjZ1RbJbuVR9DrPgRVT8Qe3UcIeoNcXQNkaDdFU0TwFX9I0\nGGeiNCygefnpNrCEIp/9IWaVEJzjROi4Aq8sFY8PgHdgkpDjL6/9hmQpXCKy\nLo9rwBkNvGKzy1SMyOJaB6foTwozql6Xx6p107vDxCaXTxPNyhLl9XXy0Cqc\nw18x\r\n=Vxmd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh0TQMpi04N+968VZlu4Zx2cw2rTVseaaqGnwMAHpohAIhAOjNhdueLfhal/ARKI44ncR1QU4dwGDqziwKZX8j1Fff"}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.10.0_1537229557097_0.2093827007725817"},"_hasShrinkwrap":false},"0.11.0":{"name":"falcon-vis","version":"0.11.0","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html --detailed-report --no-minify","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.10.2","cwise":"^1.0.10","d3":"^5.7.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.46"},"devDependencies":{"@babel/core":"^7.1.0","@types/d3":"^5.0.0","@types/jest":"^23.3.2","@types/ndarray":"1.0.6","gh-pages":"^2.0.0","jest":"^23.6.0","node-sass":"^4.9.3","parcel-bundler":"1.9.7","prettier":"^1.14.3","rollup":"^0.66.2","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","ts-jest":"^23.10.1","typescript":"next"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"3d547ec5b07fa1c868fffc5719294334f49e7a3b","_id":"falcon-vis@0.11.0","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-0UZVjC59Ul6gM91US39uU9cODy6Y6VbXq84hhPeHYMcsxH4HMMv1ePX91JHIUvynoM4DKGQjPGfNTQcCj0mQYA==","shasum":"80ea26100e1b3686d2c4a54479a94aeb450f24c0","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.11.0.tgz","fileCount":52,"unpackedSize":12616415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbpa6yCRA9TVsSAnZWagAAvVAP/3ZKEO3oU71xFfTQFCaJ\nJuYMgL/ncaPGZyO4nKb8wKMMdhJP9yUw1lx+9PSLLCYiDa2PLXneMagex+ne\ngnrIf9NmFZKpDn5XCogD0XNbtPPf/DFjAHQU0KFlL42IFl1Ws3qt5l+vjHGf\nkAf2jkz6BhjKf7gZP63qlxWaL7nj/WUh2ePfb4/tifGCN79hITJKF4Ped8/t\nSe+EMb6y0rAfC8pFPXJbNXh/1Igz2hGk136m8nSyvFZt0CcxBRFYwgXWHqot\nVt0m/DDgmaCJ+H4+9CFMqbFieHm7JyvGawafK5yzv2R49AQX/M1DNstzW6Mx\n9RVi9/M3SVSs5yfwdfjrgek3Peopseu0sByBfWgfR/cVtQTWSJfZhMjYw47p\n3103iJqQ0QKQkFhRtsr9/nqRpJbAYMJHvj9d+Ey7tlJENXLbV08SMoX36gBx\nLyf8O2gvGCdYBjxxi5zkHAMNn9j8GEQwbuQOhyyZS154YxERCNb/FXGebVcH\npc56KykLNVDbJSIEhd4/CQ0BIYpT/79j3ehvilsaOdoGXi5MTOZxH9JAEnQd\niYkPr1vJHuTcJ/gFP1zj75cx35QQBCnrGG+PQgOChb82ANFmg/uqMGuf42o6\nkrvuB3XQo58KzaPYxDLMwbIT9WVt/HjxB++0pmL3ckjBVjwiwYSTbFLjdE/s\nmENW\r\n=l9ek\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLX6hP/yO6UOk0856NoStEC6vQRcc6TS4bxneIH1qB3gIgP9FCEDKw8VYxdUJ3is+OBg6IXtzO0jTBELYvKIbZGbo="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.11.0_1537584816798_0.19525923558473535"},"_hasShrinkwrap":false},"0.12.0":{"name":"falcon-vis","version":"0.12.0","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html --detailed-report --no-minify","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.11.0","cwise":"^1.0.10","d3":"^5.7.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.47"},"devDependencies":{"@babel/core":"^7.1.0","@types/d3":"^5.0.0","@types/jest":"^23.3.2","@types/ndarray":"1.0.6","babel-preset-env":"^1.7.0","gh-pages":"^2.0.0","jest":"^23.6.0","node-sass":"^4.9.3","parcel-bundler":"1.10.0","prettier":"^1.14.3","rollup":"^0.66.2","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","ts-jest":"^23.10.2","typescript":"^3.1.1"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"4b6681ff7d64e8261763bbba557ed044de5d17bf","_id":"falcon-vis@0.12.0","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-FDt6cSYxFhFlXg+WmAqQYf5w09NGmNUrQvt2ortIKi29xBau7cvAgmcHBiYapcJMgvoTPgVSqzwMntPsFS+AkQ==","shasum":"acf6cda78cea5ea78ac048f94bfba938518957e1","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.12.0.tgz","fileCount":49,"unpackedSize":12563344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrTAzCRA9TVsSAnZWagAAMg4P/R/fzrBa4cWxZqCpPa8S\nqDVG+ms4uWRRnQUKXU4XOWbYTC5VLKHSLyTCcD02bBdhhctdjQdU6MYD9oVf\nlwA6+Z3qOrvbDqqfl0nccK0Z6QIt/jvp1575i/rR/2NTXRfMUw88qIs52iVC\n7M12PdFrFEsYTut9YcpuHakk41Is5xnqWOefLy/hn6VvHX66QXUFMwG5KbPh\nBwFDSkBV1Hdc+XRThyzh4cbjW19XJlsrr6LQ66A9PgjnUksePl7oVr9tBWGR\niVek3T4v77WPobOn0d1MZHllYkAngiHmw5AYtrA8RikffY80BOhYhOYvtP3t\nolh51DdMiVxdAHFlNp4zQ4nLc+Lo5Id9d4LdazVd/ef2ol+FfINWAbDAyoKB\nud/EBqrr61/RC23ePV9IlSym5j6hTQkZta8aBgh6ln0N1Dlv9z3MUpxIXpOp\nFUIMzxn/APoWNX7gzqQHavDvYyOkV4u+u4g7W/wBz9ILplGr8Apz76gr9q+L\nZ+rayiCbTUJCjUqb9pJPsGVQrlqnLb72TlHknFyp+nbqJSXeaCZTwhDxYgUG\na8TXj6H+WsIa2YlLSeRU4kpp5YBXQ+64v+bg4yhhFK+BA/7koDf36hAHtVaI\n/Mouir8ZjBldGscXoaXaFcU7dgkLG0P+P1vjbFzaHEGvxqsUaK8ilb2TltKX\n/ttO\r\n=4SV9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNLEUWLKhrZD6e2DIHs83rutIQeuWPskMpa1s5cdp8SQIgO6ksGEEPwCZ+gGxJLYSRLalkzksYzEIp3JAGAyoF1RY="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.12.0_1538076723033_0.8781213162451968"},"_hasShrinkwrap":false},"0.12.1":{"name":"falcon-vis","version":"0.12.1","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html --detailed-report --no-minify","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.0.1","@types/node":"^10.11.3","cwise":"^1.0.10","d3":"^5.7.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.2.0","vega-statistics":"^1.2.1","vega-typings":"^0.3.47"},"devDependencies":{"@babel/core":"^7.1.2","@types/d3":"^5.0.0","@types/jest":"^23.3.2","@types/ndarray":"1.0.6","babel-preset-env":"^1.7.0","gh-pages":"^2.0.0","jest":"^23.6.0","node-sass":"^4.9.3","parcel-bundler":"1.10.1","prettier":"^1.14.3","rollup":"^0.66.2","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","ts-jest":"^23.10.3","typescript":"^3.1.1"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"674bba45697c1b3eecbb81443606899c84ec132f","_id":"falcon-vis@0.12.1","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-sY8pqmUzVQr4+6N0XG2J5e2GnDMw/SmAUIYSgIAwQ69S9MLRY19gnnKMGe54NoldqwlwD4ZyvNLqbsnkqYcG8w==","shasum":"66454f8e9c46b3cff1c0444d3ac13d2ebe8a8665","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.12.1.tgz","fileCount":49,"unpackedSize":12657482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtP0KCRA9TVsSAnZWagAAe7YP/R3GCBrYJMHdBWz2q+ON\nFQRODxMzvByOzE7v0drRSlJi20zieq+MWogxjRTE8ouxxXye+B0tHKr1uXmY\ngDCpx9wDLzc/ZDd6px/Rar0zvv64kGInGhdXzgjuBvWUOzB5xexzo55KRyI/\nenyraXAUlfQChczfK9AzgtQjhwNVIaNhgD1pRbC0gK2PBfOwhzE2QmO+jola\nU03vsRO2dgGb67LGTKD1NQ093zOFtk19O2QXxcYI88gfdWzSB/AyC4x+GKAG\ndG3uLDE05GD8xKfJlYsE5nZxq2b1b7mpa3jYKsHJyrTGa+0LTERm7X3Ge7Lw\nlnmoJsmODP8+xKUYxSKr6CHbekEtsy9q0i36I6V8B0nwKvHAkEsf6D3SZyva\nwSjt9gSv8bdjz373LDvO+Ywc9k5i6w9VhgT8vJXAQfSjRnCCBcMTXWt2HCMR\nJv6BmLKINQz8WNngerm9wxEET7gob+K+SZymuue+8PYd/Md01/ENAdizBn/t\nFZ/kxXhLOoIPkf/palM1Pi0c9T9AqFZ+/sk37A9glJbLnYyS1GNL0R/Se9ln\nbsmhIvCIbu3pJcZXJyiBWL9jAkAA+h6Y9O3qNoaLqngeyCfhDLJKcjTEm2N/\nmiv7AH82XXyBzvwPZT6b3m7hrYppPLwu9gueIqXhqz//6XwxUSHmzdMHjm1K\nMhoI\r\n=N/0D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDF20Yg4yKDTS3mr1b3LNO+PFwGCWJwvTeDQn27ZPtJZwIgREWIaHZKrn4cKK5WyZZ4R1/TRXBpUKJTcsWFHUf+hVI="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.12.1_1538587913481_0.6732615761182807"},"_hasShrinkwrap":false},"0.13.0":{"name":"falcon-vis","version":"0.13.0","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"npm run start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"npm run build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html --detailed-report","deploy:demos":"npm run clean && npm run build:demos && gh-pages -d dist","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.3.1","@mapd/connector":"^4.2.0","@types/node":"^10.12.2","cwise":"^1.0.10","d3":"^5.7.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-lib":"^4.3.0","vega-statistics":"^1.2.2","vega-typings":"^0.3.50"},"devDependencies":{"@babel/core":"^7.1.2","@types/d3":"^5.0.1","@types/jest":"^23.3.9","@types/ndarray":"1.0.6","babel-preset-env":"^1.7.0","gh-pages":"^2.0.1","jest":"^23.6.0","node-sass":"^4.9.4","parcel-bundler":"^1.10.3","prettier":"^1.14.3","rollup":"^0.66.6","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","ts-jest":"^23.10.4","typescript":"^3.1.6"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"e56aaec8a49ddc04b80371afbb38c7922e098b9b","_id":"falcon-vis@0.13.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"dist":{"integrity":"sha512-5gjW8y4yGL/BbMPtZjh8nmXnk2rZaVqCULTCtn+fF+GJG26nN8LG4VPJSmIL+npHAd+4cDhmS0eri4h27gumVw==","shasum":"f51511d6612ca03f0c7b319cd5d56b7c75ce9ace","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.13.0.tgz","fileCount":50,"unpackedSize":12768437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3eaTCRA9TVsSAnZWagAAgqoQAIoqRRdDuLEtns5H81fA\nzd2cPNcXhPbFqMZEaK3eQnnZrIh/XVs3B1tegMzrO3LxfDfaL/CNSAQSueO1\n2363WIMWNx17TJhmgdeaSl/NPpAoeYigqSImliWUocu586x3TMZRm6Lm3H1T\nsBaHJH3Gwh4y8w9ymBk6QYUyAwyW7YSFhsW489iLdcmitDPNXNgJ6LvqqUL+\nxf7F5gx5Gtk7gMTl+PVcb8BDtI+Pn1lN2Bu8uN2NsyBdI87I4uunmNcK3+PZ\nEyrgNTcUshF2L+r28xKXGSa3ZDpVxKnIxq/Kr+LgJV1blfuHcDC457FtprD3\nhWYC85Nn5igbQf7h7nj011X72wjNw7GIaCir/+4xfdnxqzBGGkCYb7/aj2GL\n+7Nwe5DezWh477Vss/WVsXMC6Xh1YMkMWEfcRE3gpcWAcphmltTRNXCJta3J\nIzf1VkZ/LNjIDZaEqQdikHrtf+Tgz74h1BabkDKUGcJwbDfraAdSx90dFCUn\nX1VIw4BQpVJWO0iP5PIeHA+DVKs0TgdxYzdGRP4lvYSQU1qwb+IRKX8WCva5\ngqL0y58MYsjXOlDz0j/twhdYZ5ClZ9hCWwAYwMKuoIot2ba7Z17g3GpCbE3B\nwQnq+Ft9edJ1ddF6hw1MiEQAjRE3H1gRxeHtPnnFfOuJbKcSriP6sOQny38H\nNBpA\r\n=9t3H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCICZHSGjitwj434cNudEKpZQqvSYzloxa+3KILeeYPXjEAh9FHYzwZijqf69AEtmIqajQCZNe8Pf/P9+FI3o2Cyhn"}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.13.0_1541269139077_0.8372313011372055"},"_hasShrinkwrap":false},"0.14.1":{"name":"falcon-vis","version":"0.14.1","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"yarn start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","prepublishOnly":"yarn build","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html --detailed-report","deploy:demos":"yarn clean && yarn build:demos && gh-pages -d dist","test":"jest","prettierbase":"prettier '{src,test}/**/*.{ts,html,scss}'","format":"yarn prettierbase --write","lint":"yarn prettierbase --check","preversion":"yarn lint && yarn test"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.4.0","@mapd/connector":"^4.4.0","@types/node":"^11.9.5","cwise":"^1.0.10","d3":"^5.9.1","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega":"^5.0.0-rc2"},"devDependencies":{"@babel/core":"^7.3.3","@types/d3":"^5.7.1","@types/jest":"^24.0.6","@types/ndarray":"1.0.7","babel-preset-env":"^1.7.0","gh-pages":"^2.0.1","jest":"^24.1.0","node-sass":"^4.11.0","parcel-bundler":"^1.11.0","prettier":"^1.16.4","rollup":"^1.2.3","rollup-plugin-commonjs":"^9.2.1","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-jest":"^24.0.0","typescript":"^3.3.3333"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"b429098c6666aec5f1af1633fa69693c49da8418","_id":"falcon-vis@0.14.1","_nodeVersion":"11.10.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-CkYonwtRq9iQvmnal5PDhp0lMfmF/h03k3aUuTxDAsNRH04n699j4ndY/z/S9ZOL6pAJHv9sBOOt1rJgFfpIxg==","shasum":"b4ee982c75709e9cfd1c767b63cf927b2142f9df","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.14.1.tgz","fileCount":51,"unpackedSize":13927831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccf1mCRA9TVsSAnZWagAAuwsP/2O5IBC7Z4MEgs6dkdzJ\nYANwraEwvJzbbyU0PmIUrgSSF3hKu0eNj19Jk3L7qjR0rgxNQM0vOPQZrwRw\nOHqJl6/ov3iRUooyc6bADVl4eKpWigncLpfwkEQNNHbd9eGSl7zv9Ilnz8co\nEwzvcICFsS9TAZp6i3c8QB/rfbL2h6xeeMlk9qabKo1m4a8erR3mDUwLT8YC\n9V8eC9f7UnSfm0Ltfc64Jyy+K7Xf68ZbQbdNI8jqpRqDW4wsiEmKQq4NTcJI\nXM6cRaiVVd1FTncPqxhAGmzqrcP9iyE3hDFNH4bMar7K7VxCN/S5k4FNQWKJ\nzGDRLFnVqgu00TkrL53GrCLeSwBViocClfhSmY0UFVg0bcmWdr11yXXSfba/\n79WNCK96IE4cxLYvgpuQFBX3O3pAW9iqNKyyxpqWgA9rd9iIko5fM6Cs1rQf\nwZ5TcbSiEwT7AF1S7Q1a2/Vx3CCmbBRPIAA4F/RJWVS58mSlX4jxpYpH/Hpa\nUUjOXVlP0RuGOPi+Mbkd5PQ7Y0oTaYvYC71PbMeJs73iKIuPTNPs6qIDm/7+\n+ujBlD6VUaRNXyi09Tfh4A4pQCWnURziYYWjjEsLfVQ0hCUCMgk6VNJxeph0\ngmvxorICwxEs8a0GdSw42ltW4JDL6xlgc5jKiq9pGWA95KJF0Nxi/BDw/7p7\nfwjv\r\n=XRG7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZ34DbdCqjLLA6u86Sup08I96iJCdYZIeVj2ivbtUcJAIgdXBFOk6ZTuu1h5cSKdesUU5hLx9TRrXaGiGk8KKj7eY="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.14.1_1550974309504_0.8358843809915424"},"_hasShrinkwrap":false},"0.14.2":{"name":"falcon-vis","version":"0.14.2","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"yarn start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html --detailed-report","deploy:demos":"yarn clean && yarn build:demos && gh-pages -d dist","test":"jest","prettierbase":"prettier '{src,test}/**/*.{ts,html,scss}'","format":"yarn prettierbase --write","lint":"yarn prettierbase --check","preversion":"yarn lint && yarn test"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.4.0","@mapd/connector":"^4.4.0","@types/node":"^11.9.5","cwise":"^1.0.10","d3":"^5.9.1","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega":"^5.0.0-rc2"},"devDependencies":{"@babel/core":"^7.3.3","@types/d3":"^5.7.1","@types/jest":"^24.0.6","@types/ndarray":"1.0.7","babel-preset-env":"^1.7.0","gh-pages":"^2.0.1","jest":"^24.1.0","node-sass":"^4.11.0","parcel-bundler":"^1.11.0","prettier":"^1.16.4","rollup":"^1.2.3","rollup-plugin-commonjs":"^9.2.1","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-jest":"^24.0.0","typescript":"^3.3.3333"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"49106177deba2ebacf2b5e350d167c0c86d9b954","_id":"falcon-vis@0.14.2","_nodeVersion":"11.10.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-gLRwWZQ4ly7fRXB0eQmL8ZKtI13SIkv+dNuxlaBBJ3NnqZJXavdb+NWWy4mRyfaeIy1CBkAMk2Zu/DYv0s5DPQ==","shasum":"00bb91e2ceb66e4fd3e50134aba1186083528a6f","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.14.2.tgz","fileCount":49,"unpackedSize":13926992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccf8SCRA9TVsSAnZWagAArJUQAKKYt/C3S+EgOVYAJDu7\nODA5n/E5w+5jTkfYXl8/k9fyDKGfeE6nWxvowNEKkKeKnZjBqBbJSAnIcMwz\nYBxKO+XjzXkTUGkISEuX75R0JIz+SD1AlHt5EwY3jjqcyHD6AMnhDZmJR/1Q\nw4oYUTHCmQtTmj7X4VNF8EyhHqL/bnuVXLCi95m1J6LE1ffUTjR/BiUdYrx3\ntNEtCm3wh0yniHD4l5ICs1LOfv8kNMR40gyP2RO0Usclifc4FeepUUCMLxIW\na8uRB8cZCTGyCdS5DOwEdSk2yMGEqL4PK866KJfxGE78tqnYLXlHlE9Aq/ye\nRM9z5S4gHUNhP/zzOsM26T22KNRgUAAazC2LgYPTPeTUplCrqRqwuUxbjb9T\nlgKP/oeThLxie4F5Bv2kS1AAFrxRh6kesaLp3AbU+x3ACEdXjV4uw1nQCRbh\nJw42q1LIMlbLUhQCjyQzTqKayI7+wdqnQCYlr8aRytPqxud3sJqFg6tFuobb\nISks5vTdqu2v5M7RhoXZHZND3txXSj+QVlrcE6TSEL/RVVp9cfK4q2r1WRmF\nEqLQbbq3bkdEFWSFJcTG1zZPGOhRjsE/2G47ImloPXqCrNV+gzSPEU/EDm5g\nBoFclG3B5rYhVR12UVKAIIq/PR9wczAdnAaIJ8OmLdvryOJ/tAVVzH6O5l7Z\n6ANA\r\n=vfuy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYsAmAAIPurwkheJwIxfhKwhxInV/v0yJDTBjDMM8AEwIgOLg613u16SFCmhZzeI1obfCMqwwPUIUDcDJyjq5zXLc="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.14.2_1550974737245_0.9666513549221942"},"_hasShrinkwrap":false},"0.14.3":{"name":"falcon-vis","version":"0.14.3","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"yarn start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html --detailed-report","deploy:demos":"yarn clean && yarn build:demos && gh-pages -d dist","test":"jest","prettierbase":"prettier '{src,test}/**/*.{ts,html,scss}'","format":"yarn prettierbase --write","lint":"yarn prettierbase --check","preversion":"yarn lint && yarn test"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.13.0","@mapd/connector":"^4.6.1","@types/node":"^12.0.8","cwise":"^1.0.10","d3":"^5.9.2","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega":"^5.4.0"},"devDependencies":{"@babel/core":"^7.4.5","@types/d3":"^5.7.2","@types/jest":"^24.0.15","@types/ndarray":"1.0.7","babel-preset-env":"^1.7.0","gh-pages":"^2.0.1","jest":"^24.8.0","node-sass":"^4.12.0","parcel-bundler":"^1.12.3","prettier":"^1.18.2","rollup":"^1.15.6","rollup-plugin-commonjs":"^10.0.0","rollup-plugin-json":"^4.0.0","rollup-plugin-node-resolve":"^5.0.3","ts-jest":"^24.0.2","typescript":"^3.5.2"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"18b87e08db94985e6db2c30bfc69848f8136befd","_id":"falcon-vis@0.14.3","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-3cdoJA5W7XQ4UomU9BclMnzsD15OvGMXRbJtBpoAMIa4YLjfLm+2wBm2l1TYvsGVsolFQ8uHIjNSry0Cz2CikQ==","shasum":"c44da5c4ba9fe9eaad813daa6ae19c21a30237e6","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.14.3.tgz","fileCount":71,"unpackedSize":13602808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdCTx5CRA9TVsSAnZWagAA2OAP/iCRQ1Usr0JaydGqvAEV\nMIjdsQmTiTHcC5WGUehAZUMRwD/jHeWSsDnDqLLdNhsHTFa5EVJWAgzAu6Q5\nCQhG9kXKTevUz1PbDqjRHFD4nIUnNEq17k6pXUcrZVNHokyNd5VNTv7x4Tt2\n87bxxRqKWX17srk5f+IjK0jDj4qrw0U1MEMV2DodwLdTHqmsHFIV+ePCm1+Y\nFb2Gvk1KBv1r3xYKQ/Oejr6kaxnGmq0K1XohAUL6WZxt4A4EawzP9YcT+rlb\nkbBDO4x4TL1i+tefSO9lJrannjQw0R+CGw0J7Xy7Jo+SqmZDl/SJSmACb+bW\nyXAqpSnySe/KSgZRzRBQJPLimFVAUFax2TGgvwPebFum2dT7l70I8mKfkGbw\n7P4omsU7yWnBAIUPlW1oGjQqJImFovPfE6Kev+82hWpeBeyxPIktMZKMnhzs\nuE6p4TLw2DIYVJneUMdDP6TeLMDj3i5qSBJzZntb1NVr9e9MeX/yMs3ep77m\naWx5yVw15z0OT1iJ/5HgkP8vhAvSnh025DjFwsHq31WAQBco09N76VPRlqqV\nOLmCUv2IB2liAacpkOlYpuP5yFT5pRt9wqAkEbzSJcHQYic49EdFaLudy0Ss\ngFODeq/HD9uwETLlP/HTJiidzjHm+ppDubDGr1tFQ+7k8cQBiym8IDNgrlJW\nh074\r\n=g2SY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTOO0YmkPusO+GN2/l1nAQ7L5T3YUzvEW4abBTxuF7dgIhALM9wNogKw2hib8iutbrGVSDslFjqp87bJ2LOM7ctSYR"}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.14.3_1560886393081_0.4326686364949448"},"_hasShrinkwrap":false},"0.15.0":{"name":"falcon-vis","version":"0.15.0","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"yarn start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html --detailed-report","deploy:demos":"yarn clean && yarn build:demos && gh-pages -d dist","test":"jest","prettierbase":"prettier '{src,test}/**/*.{ts,html,scss}'","format":"yarn prettierbase --write","lint":"yarn prettierbase --check","preversion":"yarn lint && yarn test"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.14.1","@mapd/connector":"^4.8.0","cwise":"^1.0.10","d3":"^5.11.0","ndarray":"^1.0.18","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega":"^5.5.2"},"devDependencies":{"@babel/core":"^7.5.5","@types/d3":"^5.7.2","@types/jest":"^24.0.18","@types/ndarray":"1.0.7","babel-preset-env":"^1.7.0","gh-pages":"^2.1.1","jest":"^24.9.0","node-sass":"^4.12.0","parcel-bundler":"^1.12.3","prettier":"^1.18.2","rollup":"^1.20.3","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-json":"^4.0.0","rollup-plugin-node-resolve":"^5.2.0","ts-jest":"^24.0.2","typescript":"^3.6.2"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"503ecfb3b510cc2937abd667671b93ab25243443","_id":"falcon-vis@0.15.0","_nodeVersion":"12.9.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-tn15yD380+OvVrxKSGwXBXiulVfJl95SJbfbJb2JqG0v2dmgNnz1rUsH9UBha8CS5LEsrM7FNicr3AZDnHM0zg==","shasum":"67db5d20430b4111e50abcfdf0eb62c2dd8cb2ca","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.15.0.tgz","fileCount":70,"unpackedSize":13474704,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaBBxCRA9TVsSAnZWagAAaegP/2srVWhOdzpGLXSGLcDM\nW5uE7S+wsrimFUVgTlH3tpdccg4stdCkOW5C+xs/Jkcy2Rkr1arjUZ6T8M0v\nzPzKS4Rm/nfxRyGZDtsuj0IFo2CSRVoPgDt6mLeMin4sKlD4jiohopP39RfK\noBabu9RVeg7BcnuGcfjre/l6Yts1nbb8dRKiMr+JLwDLLMNu3UbLrUAVQKGE\nj1abPDF2o0FikI51IgwJeNvFsBxWj1I/0FIhwAANeQT7Pgh2BvcY4cWbkx1K\n2xU3IVvIgoZrzxX/kMUoIzOKfosT2Z/SilIRbz6Dr2Uf6jMbb3O9c0HZxYI/\nABoQg6zZgjsjXx3a8U/s3tm/QGNWCrAYIbDtySnIRxZY4BP0yL/MAiDjXqZZ\nlHKmKgyQQXHT49swyLDKrCMK1c7srhKVMzKsmtKKD4dw+4nt8VuOM7PvPPmx\nRIwhfb+QWsfY4MqCHSnT3ig1gsduY7J87Zsr63LuUppRXudrgwkVIjPsRhfw\n6osvEJW7i7dE20wt0bcpNl8M01Y++2qbgA5navnX0rxEi1EId6NwqKLo8szK\nvc3fZwo8543PHq18/n9HMGCHA8UdLiL5PwR1YrTvN/0GrBZq1N/M69CweWjm\nwFDzpMVIdZt/UHkNMA5krrCbFbr75Gah3eRSf4vdPv8EkXqG0S+Oio0BqP3u\nusuW\r\n=Xe2h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEbOF6bsBnIS4oprdKpjdR6XO8JAqMJHsaAoW0Bq4e3IAiBIS+FMJg5kab6CLX91nNcBf9Yy2rvfhFVWbKNbmXChMQ=="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.15.0_1567101040771_0.1478403865958826"},"_hasShrinkwrap":false},"0.16.0":{"name":"falcon-vis","version":"0.16.0","description":"Big data crossfilter","main":"build/falcon.js","module":"build/src/index","types":"build/src/index.d.ts","scripts":{"start:flights":"parcel flights/index.html","start:flights-mapd":"parcel flights-mapd/index.html","start:weather":"parcel weather/index.html","start:gaia-mapd":"parcel gaia-mapd/index.html","start":"yarn start:flights","clean":"rm -rf dist && rm -rf .cache && rm -rf build","build":"tsc && rollup -c","build:demos":"parcel build --public-url '/falcon/' flights/index.html flights-mapd/index.html weather/index.html --detailed-report","deploy:demos":"yarn clean && yarn build:demos && gh-pages -d dist","test":"jest","prettierbase":"prettier '{src,test}/**/*.{ts,html,scss}'","format":"yarn prettierbase --write","lint":"yarn prettierbase --check","preversion":"yarn lint && yarn test"},"repository":{"type":"git","url":"git+https://github.com/uwdata/falcon.git"},"author":{"name":"Dominik Moritz"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/uwdata/falcon/issues"},"homepage":"https://github.com/uwdata/falcon#readme","dependencies":{"@apache-arrow/es2015-esm":"^0.16.0","@mapd/connector":"^5.1.0","cwise":"^1.0.10","d3":"^5.15.0","ndarray":"^1.0.19","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega":"^5.9.2"},"devDependencies":{"@babel/core":"^7.8.6","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","@types/d3":"^5.7.2","@types/jest":"^25.1.3","@types/ndarray":"1.0.7","babel-preset-env":"^1.7.0","gh-pages":"^2.2.0","jest":"^25.1.0","node-sass":"^4.13.1","parcel-bundler":"^1.12.4","prettier":"^1.19.1","rollup":"^1.32.0","ts-jest":"^25.2.1","typescript":"^3.8.3"},"jest":{"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"testPathIgnorePatterns":["node_modules","<rootDir>/build","src"]},"gitHead":"7ba586054cd7ee5dcd870e3ec8edd7dc7fe165e0","_id":"falcon-vis@0.16.0","_nodeVersion":"13.9.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-mu56z2deZ4l9/i68A06mGL5fdCXyx0Tu0Gampk8lDAsVWbLgXQz7P/b/N1MIBQXk3wVnAvNcIRI7ElbHYsdJjw==","shasum":"dab5015fba21e0155cb13a8c9a8e9d48aad02d6f","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.16.0.tgz","fileCount":70,"unpackedSize":13599927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXXIJCRA9TVsSAnZWagAAT5cP/jEMcUlPn14gPxv1NHJk\nsfmqYZV6bmgY/YUayHHclWEe1JtfOmyOSOONUxF1Mt1YuhV96/Q9pkfZlSRA\nBMMYYkEoIvqVt1An0piTsxA+shliTgoBa0daijjKajSp1EYU6FQnZetKLu//\nHcPMShkfQAQi0fzM4cullCyPFZPWZU5KoJaO5fDr2Nv8GO5PKAiPf54qZR2C\npRd/0fGqiKBjCJIxlwD37aPRYnAvDjhx8YesvUztfm0VA9C0tCbZ4tYHB9iR\n1btjEwqwLPyxJPXksgSBD7RE10iG7N4mXrbRxz81888aksF7QYCGgbutthJ2\noyTkHDtnMR+5w2kNJkios2u58gKASkKZoB/VvkXgIeY0YOjGiz1iSMWpTXHH\n75NlWnJk91Gl8PQ8dP73OoVPVvsR/bkzbAsavmykHNd9ot+ZkmYpu1Rzt4Wz\nimJjYbreXSf8qvJrqz0dqCL3PwNngac/Oh56nJNXT++5WUm4dMQFZNLOftjH\njviag/PTaJJZjVaUqjil4f4nt9JbIgSV7vo4c4NBZiohP1w/nqmkFIxkTNSr\ndEPlVWsEqq0GXeTLHigGFBb2Cq/X+miuRoVfOn12xcLBgMQjAvvj36Idpca+\ndnzszBMRU4dy2s7CdDgiv94XMncXt14KC/Hzls+/Rz9m0rcKoZ+zRydDtOqy\nP+qY\r\n=i5KI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFVG7NG9XJ0VxMNDJ4eJOoEzgJtO8C+n18jNY6Syyh/DAiEAh6OsAcMhMUVUg48cx754JDq0dByZKxh5zGuF2SE4Tr0="}]},"maintainers":[{"name":"domoritz","email":"domoritz@gmail.com"}],"_npmUser":{"name":"domoritz","email":"domoritz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.16.0_1583182344970_0.13179857627501135"},"_hasShrinkwrap":false},"0.17.0":{"name":"falcon-vis","version":"0.17.0","main":"build","repository":{"type":"git","url":"git@github.com:cmudig/falcon.git"},"author":{"name":"cmudig"},"license":"MIT","scripts":{"build":"tsc","format":"prettier --write src","jest":"NODE_OPTIONS=--experimental-vm-modules npx jest","test":"yarn jest","pub":"yarn build && yarn publish"},"dependencies":{"@duckdb/duckdb-wasm":"^1.20.0","@heavyai/connector":"^7.0.0","apache-arrow":"^11.0.0","cwise":"^1.0.10","d3":"^7.8.2","fast-kde":"^0.2.1","ndarray":"^1.0.19","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-statistics":"^1.8.0"},"devDependencies":{"@types/cwise":"^1.0.4","@types/d3":"^7.4.0","@types/jest":"^29.4.0","@types/ndarray":"1.0.11","@types/ndarray-ops":"^1.2.4","jest":"^29.3.1","prettier":"^2.8.1","ts-jest":"^29.0.3","typescript":"^4.9.4"},"_id":"falcon-vis@0.17.0","dist":{"shasum":"84f41bbb2cd4d5a88589c45ab7435030fed3cffe","integrity":"sha512-I0no0iBGm7ZXyexvDbf4EghJeYNIgEjEX20E6vez0M6mbZfkL1W2AnqchGbfVREypA9+qRCwdHwQlzccTyANWA==","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.17.0.tgz","fileCount":81,"unpackedSize":153107,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCONis6ZAzISI08AgSiC02nwPieQdZUAO3Qi+xgiwFfFgIgYPNBhNa+pbIc1A71zjHtoB3lj6Ht4nAxbp3EbrMPDiI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/tPWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYyg/8Cd5yHaSJkkNgTNGR7yOX3dvb3L39bpXgLqrbERi09u+hRTnI\r\nQnVd91TdTV1Jzwq+13qUMeuuwmWj1w9xXcVC5SZZmHQIWLFDNtyWWNMxhfHT\r\n7UVwEtshkX1gAZeT+DjUQzrbiIXIBi+GPKbTlXLFnWCqjQcStV8KCzOIhR21\r\nJjPTbA1kYMTcGDT7MjUagc1HtsTNWXsMNjXEMoVGqyV0LtqZ2cCD3sGSYuod\r\naOgx9OVY7Lt4eFA3nx8KQ9pu1uvSSBpDkVFLlK1TnTz+Tsybiu2wybm+hwbd\r\nM1ckS4Q+e/zSQckFylGvLoe+UPEsguhD2X7uo7PcGuwySAMVVAD6aJbh827V\r\n+IOjxEfI5ELPlOlCSNeMl0onWT5A/sdwwSq76UDwF9KMhoZla92jH5dbXBvb\r\nXdQ5KxpeLcGnGETh8AlShLqKJWqUSmW31ylp+HK4aJkdIY3iuaNca//I6ekF\r\nEnc0NnGh0GHgrPzpLYvq9pf0ITNEgho4i4zVy6P0uXUQRun2LgmOScHV+bn8\r\n+t9lGZdOOatREddr8VTWaoxQaqHnUDXrpY9twrapby5IKidxNVPxCmrsw+UR\r\nrg7CMZ2VqFRx+TiUVCPoTeIAwdaN9UG70WSWkbAaVVMMFoBfQifipVHUnicZ\r\nbnUsoo4JQn1xKCHex56BkIsnGGD1mxGHhp0=\r\n=VAny\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xnought","email":"bertuccd@oregonstate.edu"},"directories":{},"maintainers":[{"name":"jheer","email":"jeffrey.heer@gmail.com"},{"name":"domoritz","email":"domoritz@gmail.com"},{"name":"xnought","email":"bertuccd@oregonstate.edu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.17.0_1677644758073_0.7859292840592043"},"_hasShrinkwrap":false},"0.17.1":{"name":"falcon-vis","version":"0.17.1","main":"build","repository":{"type":"git","url":"git@github.com:cmudig/falcon.git"},"author":{"name":"cmudig"},"license":"MIT","scripts":{"build":"tsc","format":"prettier --write src","jest":"NODE_OPTIONS=--experimental-vm-modules npx jest","test":"yarn jest","pub":"yarn build && yarn publish"},"dependencies":{"@duckdb/duckdb-wasm":"^1.20.0","@heavyai/connector":"^7.0.0","apache-arrow":"^11.0.0","cwise":"^1.0.10","d3":"^7.8.2","fast-kde":"^0.2.1","ndarray":"^1.0.19","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-statistics":"^1.8.0"},"devDependencies":{"@types/cwise":"^1.0.4","@types/d3":"^7.4.0","@types/jest":"^29.4.0","@types/ndarray":"1.0.11","@types/ndarray-ops":"^1.2.4","jest":"^29.3.1","prettier":"^2.8.1","ts-jest":"^29.0.3","typescript":"^4.9.4"},"description":"[![npm version](https://img.shields.io/npm/v/falcon-vis.svg)](https://www.npmjs.com/package/falcon-vis) ![Tests](https://github.com/cmudig/falcon/workflows/Node.js%20CI/badge.svg) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-f","_id":"falcon-vis@0.17.1","dist":{"shasum":"cde7ece7c77392ec375738dc9752a7bc285991cc","integrity":"sha512-hFbsBqQ6VuRpAepgDE1bQHMm2S7w/FhGcIYaJPY3geYH47W53DLYGMwu6QJEWhArRP/E1ZdV8HmTcj26k9gOFQ==","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.17.1.tgz","fileCount":82,"unpackedSize":157175,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB5JqHvngS0ac7UiwsmLGg2UrH3GrT7LPbR3ayCf3pyVAiEAyOXI7rg4R0oLWtX+OuQ67orTp7tXr90CEZZ4wDOD+5A="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/tVPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpN2w/+J9HkC8F7ikNHOOnfjgxUC8GL+dKxtNZl0r6P9dAS2o9EchQN\r\nUwbJA8os0RhoK/pzV8gktEhPN1kR6ayOlq1xZrTFSMHZ/TvZf6Uwe3memygl\r\nNkGpa4nsAMAVZNTNH+LO0krxL/AGL4+xRyeFRIPv8mJ5uMv/S7+JStjaXeiO\r\nq0vB0NC3c8T4OK4lzTtA4WRGrTzTMHOKehSStmsaM8n7DzWfakT2tY5ktxPi\r\nupvk+faxI79iPysaBRcMtPYAC/8wwT1Bf1+N9zEFG9+kDSgpC73E5a7Uog8U\r\n1aR1hzn8eREUeBrfiKAWBcRPkQojZBUIjNS/4AomDKz968JYHFIsqFabPeQn\r\nQkH97dc5KOSA6P6m91u7nykEa4ij8D3PnUefk0xwZXl2u+6GRA1BNk8lSysC\r\nh9GevH6YG0EJNcKdoR9dAS5K/kkPeTby4F2BDC8DH3cDzsEiIH+SNWF+GSzs\r\nwoAUMm4M4/PLckXMu4GJ0pe57DBTak3+OPMlTDKrhmRwXbzHS8Yrb8zTf6c+\r\nBLwLgJas2YjwdpuNu03SfTTFvtrWFm6ZNOmNz3t0sR6R3W986vEr2/Imc//I\r\nKI6a6WF2er/WGYGfXKghPwMRgaiic0JfA53AHE1HNGXFnCnUhGWLA3Bnk4Om\r\nsYHiwLbBZuzDkEjYwAG2nz1VA12s9+5wIcs=\r\n=PboS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xnought","email":"bertuccd@oregonstate.edu"},"directories":{},"maintainers":[{"name":"jheer","email":"jeffrey.heer@gmail.com"},{"name":"domoritz","email":"domoritz@gmail.com"},{"name":"xnought","email":"bertuccd@oregonstate.edu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.17.1_1677645135336_0.7537350059114061"},"_hasShrinkwrap":false},"0.17.2":{"name":"falcon-vis","version":"0.17.2","main":"build","repository":{"type":"git","url":"git@github.com:cmudig/falcon.git"},"author":{"name":"cmudig"},"license":"MIT","scripts":{"build":"tsc","format":"prettier --write src","jest":"NODE_OPTIONS=--experimental-vm-modules npx jest","test":"yarn jest","pub":"yarn build && yarn publish"},"dependencies":{"@duckdb/duckdb-wasm":"^1.24.0","@heavyai/connector":"^7.0.0","apache-arrow":"^11.0.0","cwise":"^1.0.10","d3":"^7.8.4","fast-kde":"^0.2.1","ndarray":"^1.0.19","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-statistics":"^1.8.1"},"devDependencies":{"@types/cwise":"^1.0.4","@types/d3":"^7.4.0","@types/jest":"^29.5.0","@types/ndarray":"1.0.11","@types/ndarray-ops":"^1.2.4","jest":"^29.5.0","prettier":"^2.8.7","ts-jest":"^29.0.3","typescript":"^4.9.4"},"description":"[![npm version](https://img.shields.io/npm/v/falcon-vis.svg)](https://www.npmjs.com/package/falcon-vis) ![Tests](https://github.com/cmudig/falcon/workflows/Node.js%20CI/badge.svg) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-f","_id":"falcon-vis@0.17.2","dist":{"shasum":"a9e953041048c5c9baf60157898f203f3e5e5e45","integrity":"sha512-RzsaTwEbCONldDRrDtK8jRqpdp2w0Yq28vMg/BOoUth9U/yuet9IO/zvopxB64hRURktx9cl4AAMORr7fwHrwg==","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.17.2.tgz","fileCount":85,"unpackedSize":179767,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEAx63NWuyWh9uvGNE2cgZTnJXtCUT1H7zgt3mou/P1tAiEA8gnzsVCsXgqBpralGAkQJBCLiRv370ysoXn7KYEIEZE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPdNlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpgGxAAkz/ktEGedzIIFutUNkIxOZSkZd/4GcFqPhciJV6DgszN3/Lg\r\nxs9bxInBYZoAE7nRoMmkKhHlZ5aIbQ4S9Z9EJRiW4HXfbHqOd1e3hDQdDrdB\r\nKqegWWqZrrfGSRgIK/5UwqlFhaTeN5OzpaLy/1nrRjnNWB5Ir6QFKJFuT88v\r\nnV38pBD5h1lIXVry2M/gEBGQe5/Gdc/ougvc+/5cdCXLjBfp7t0BoSNG78GM\r\n6tmEWElZyeI7Zc/avOgrnS7Q4MmUvAST0UCidMMmbOadzQL7vNTufNN0i0/J\r\n9ExmUw1dqTS8k7+VYTguwAs5nGulzT/3kQ7OjRJVmLCQ69jj5227NQhkMGGZ\r\nqR1GuVyIBV67KVp4e7J3KmBRAJJgNrk15htQNB6EUUmdQ0/09H0yIB1Mi7jN\r\nhvy5H+8LQGZ0DHkZOFkK9VaRhIJzu1YE3Ee+Kz8mXyogexLtVWqC5E7ZzRr3\r\n2FlA2DGE7ghqmMZnP3yJF2WgEriR0NZZRa0w6y/7L70iki6s15sXN8j83d/5\r\nCGsAM8fTlOdtKzabADFEqkAnx0+nGfqZyWYZPbLEE3C0kbt8qoi4hFVAs9hj\r\nLYxs0IS2hdmv6KHXYpYvz35AOJGs1PLpa4K4CKR3fsy1fPEtJlhB2xPj3vvZ\r\n2c5sX/4bDvypnHtyHZlRkVzPvcqz1HMVcdQ=\r\n=sX/1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xnought","email":"bertuccd@oregonstate.edu"},"directories":{},"maintainers":[{"name":"jheer","email":"jeffrey.heer@gmail.com"},{"name":"domoritz","email":"domoritz@gmail.com"},{"name":"xnought","email":"bertuccd@oregonstate.edu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.17.2_1681773413233_0.3361059814149372"},"_hasShrinkwrap":false},"0.17.3":{"name":"falcon-vis","version":"0.17.3","main":"build","repository":{"type":"git","url":"git@github.com:cmudig/falcon.git"},"author":{"name":"cmudig"},"license":"MIT","scripts":{"build":"tsc","format":"prettier --write src","jest":"NODE_OPTIONS=--experimental-vm-modules npx jest","test":"yarn jest","pub":"yarn build && yarn publish"},"dependencies":{"@duckdb/duckdb-wasm":"^1.25.0","@heavyai/connector":"^7.0.0","apache-arrow":"^12.0.0","cwise":"^1.0.10","d3":"^7.8.4","fast-kde":"^0.2.1","ndarray":"^1.0.19","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-statistics":"^1.8.1"},"devDependencies":{"@types/cwise":"^1.0.4","@types/d3":"^7.4.0","@types/jest":"^29.5.1","@types/ndarray":"1.0.11","@types/ndarray-ops":"^1.2.4","jest":"^29.5.0","prettier":"^2.8.8","ts-jest":"^29.1.0","typescript":"^4.9.4"},"description":"Install `FalconVis` via [npm](https://www.npmjs.com/package/falcon-vis).","_id":"falcon-vis@0.17.3","dist":{"shasum":"df5bb9f77e4771a319c1529cc4ea7e6e3cf82130","integrity":"sha512-uDy2z3e/pL2k6jxcRWgxwJs6S/hkghzzuvtNR9zCgyi6BZ9gPV/ND0Md2nRvEcU+0MgeUGOiUnAa+or5ux9f5Q==","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.17.3.tgz","fileCount":77,"unpackedSize":194373,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEDZe+GjGejfKblw/xkA5DCrndetI0lj71lXFYE+igvPAiEA6H4L5eUWbPGD6xf6ZamKBic8ukNy0nq2wJ14SzBqhXs="}]},"_npmUser":{"name":"xnought","email":"bertuccd@oregonstate.edu"},"directories":{},"maintainers":[{"name":"jheer","email":"jeffrey.heer@gmail.com"},{"name":"domoritz","email":"domoritz@gmail.com"},{"name":"xnought","email":"bertuccd@oregonstate.edu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.17.3_1684993939630_0.9669804927154513"},"_hasShrinkwrap":false},"0.17.4":{"name":"falcon-vis","version":"0.17.4","main":"build","repository":{"type":"git","url":"git@github.com:cmudig/falcon.git"},"author":{"name":"cmudig"},"license":"MIT","scripts":{"build":"tsc","format":"prettier --write src","jest":"NODE_OPTIONS=--experimental-vm-modules npx jest","test":"yarn jest","pub":"yarn build && yarn publish"},"dependencies":{"@duckdb/duckdb-wasm":"^1.25.0","@heavyai/connector":"^7.0.0","apache-arrow":"^12.0.0","cwise":"^1.0.10","d3":"^7.8.4","ndarray":"^1.0.19","ndarray-imshow":"git+https://github.com/domoritz/ndarray-imshow.git","ndarray-linear-interpolate":"^1.0.0","ndarray-ops":"^1.2.2","ndarray-prefix-sum":"^1.0.0","vega-statistics":"^1.8.1"},"devDependencies":{"@types/cwise":"^1.0.4","@types/d3":"^7.4.0","@types/jest":"^29.5.1","@types/ndarray":"1.0.11","@types/ndarray-ops":"^1.2.4","jest":"^29.5.0","prettier":"^2.8.8","ts-jest":"^29.1.0","typescript":"^4.9.4"},"description":"**`Github Pages`**","_id":"falcon-vis@0.17.4","dist":{"shasum":"bb5032856c50ed521e52767fe1d131f13aac104a","integrity":"sha512-elImOG92c+78VArYSBFeaceY3dhuomO+lowb8tXckuEm7++zpUI75j5Qn8S4DuG/Bqvep+33K3f3iR3fi94Z8w==","tarball":"https://registry.npmjs.org/falcon-vis/-/falcon-vis-0.17.4.tgz","fileCount":77,"unpackedSize":203287,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCf6IE6nS4Q2YYixsaVx66QMqPDN+FRo2ptrVMT5h44IAIhAM37wDYW/Fdm0Watgezc8dAiIdg+c+BZTF9dzphXrJV7"}]},"_npmUser":{"name":"xnought","email":"bertuccd@oregonstate.edu"},"directories":{},"maintainers":[{"name":"jheer","email":"jeffrey.heer@gmail.com"},{"name":"domoritz","email":"domoritz@gmail.com"},{"name":"xnought","email":"bertuccd@oregonstate.edu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/falcon-vis_0.17.4_1685317145091_0.10263206607199016"},"_hasShrinkwrap":false}},"time":{"created":"2018-08-16T16:47:52.891Z","0.1.0":"2018-08-16T16:47:53.136Z","modified":"2023-05-28T23:39:05.483Z","0.6.0":"2018-08-16T18:38:05.319Z","0.6.1":"2018-08-16T21:34:42.125Z","0.6.7":"2018-08-16T23:15:26.239Z","0.6.9":"2018-08-17T18:27:36.360Z","0.7.2":"2018-08-24T17:45:46.710Z","0.8.0":"2018-09-07T05:37:40.123Z","0.8.1":"2018-09-07T05:39:51.026Z","0.9.0":"2018-09-08T00:36:42.640Z","0.10.0":"2018-09-18T00:12:37.372Z","0.11.0":"2018-09-22T02:53:37.029Z","0.12.0":"2018-09-27T19:32:03.202Z","0.12.1":"2018-10-03T17:31:53.743Z","0.13.0":"2018-11-03T18:18:59.280Z","0.14.1":"2019-02-24T02:11:49.714Z","0.14.2":"2019-02-24T02:18:58.139Z","0.14.3":"2019-06-18T19:33:13.340Z","0.15.0":"2019-08-29T17:50:40.982Z","0.16.0":"2020-03-02T20:52:25.216Z","0.17.0":"2023-03-01T04:25:58.273Z","0.17.1":"2023-03-01T04:32:15.544Z","0.17.2":"2023-04-17T23:16:53.446Z","0.17.3":"2023-05-25T05:52:19.867Z","0.17.4":"2023-05-28T23:39:05.345Z"},"maintainers":[{"name":"jheer","email":"jeffrey.heer@gmail.com"},{"name":"domoritz","email":"domoritz@gmail.com"},{"name":"xnought","email":"bertuccd@oregonstate.edu"}],"repository":{"type":"git","url":"git@github.com:cmudig/falcon.git"},"author":{"name":"cmudig"},"license":"MIT","readme":"<p align=\"center\">\n  <img src=\"https://user-images.githubusercontent.com/65095341/224896033-afc8bd8e-d0e0-4031-a7b2-3857bef51327.svg\" width=\"65%\">\n</p>\n\n[![npm version](https://img.shields.io/npm/v/falcon-vis.svg)](https://www.npmjs.com/package/falcon-vis) ![Tests](https://github.com/cmudig/falcon/workflows/Node.js%20CI/badge.svg) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=rounded)](https://github.com/prettier/prettier)\n\n`FalconVis` is a JavaScript library that links your own custom visualizations at scale! We also support a variety of [data formats](#data) for different scales of data (e.g., Apache Arrow, DuckDB WASM, backend servers, and more).\n\nYou can cross-filter billions of data entries in the browser with no interaction delay by using the [Falcon](https://www.domoritz.de/papers/2019-Falcon-CHI.pdf) data index.\n\n`FalconVis` was created by [Donny Bertucci](https://donnybertucci.com) and [Dominik Moritz](https://www.domoritz.de/) because the previous implementation ([`vega/falcon`](https://github.com/vega/falcon)) could not be used as a library or with custom visualizations.\n\n**Table of Contents**\n\n-   [Examples](#examples)\n-   [Usage](#usage)\n-   [API Reference](#api-reference)\n\n## Examples\n\n**`Github Pages`**\n\n| Data                                                                                     | Type        | Count | Live Demo                                                                            |\n| ---------------------------------------------------------------------------------------- | ----------- | ----- | ------------------------------------------------------------------------------------ |\n| Movies                                                                                   | Arrow       | 3k    | [Click to open on Github Pages](https://dig.cmu.edu/falcon-vis/movies-arrow/)        |\n| Movies                                                                                   | JSON        | 3k    | [Click to open on Github Pages](https://dig.cmu.edu/falcon-vis/movies-json/)         |\n| Movies                                                                                   | DuckDB WASM | 3k    | [Click to open on Github Pages](https://dig.cmu.edu/falcon-vis/movies-duckdb/)       |\n| Flights (with US Map)                                                                    | DuckDB WASM | 3m    | [Click to open on Github Pages](https://dig.cmu.edu/falcon-vis/flights-duckdb/)      |\n| Flights (comparison with [crossfilter](https://github.com/crossfilter/crossfilter) fork) | DuckDB WASM | 3m    | [Click to open on Github Pages](https://dig.cmu.edu/falcon-vis/crossfilter-duckdb/)  |\n| Flights (comparison with [crossfilter](https://github.com/crossfilter/crossfilter) fork) | HeavyAI     | 7m    | [Click to open on Github Pages](https://dig.cmu.edu/falcon-vis/crossfilter-heavyai/) |\n\n**`ObservableHQ`**\n\n| Data    | Type        | Count | Live Demo                                                                    |\n| ------- | ----------- | ----- | ---------------------------------------------------------------------------- |\n| Flights | Arrow       | 1m    | [Click to open on ObservableHQ](https://observablehq.com/d/68fae2b29f7f389a) |\n| Flights | DuckDB WASM | 3m    | [Click to open on ObservableHQ](https://observablehq.com/d/75371ab6ea37d20c) |\n| Flights | DuckDB WASM | 10m   | [Click to open on ObservableHQ](https://observablehq.com/d/ee8baae0a36606d7) |\n\n**`Other`**\n\n| Data                  | Type                  | Count | Live Demo                                                                               |\n| --------------------- | --------------------- | ----- | --------------------------------------------------------------------------------------- |\n| Flights (with US Map) | HTTP to DuckDB Python | 10m   | [Click to open on HuggingFace🤗 Spaces](https://huggingface.co/spaces/donnyb/FalconVis) |\n\n## Usage\n\nInstall `FalconVis` via [npm](https://www.npmjs.com/package/falcon-vis).\n\n```sh\nnpm install falcon-vis\n```\n\n### Data\n\nBefore you filter your data, you need to tell `FalconVis` about your data.\n\n`FalconVis` currently supports javascript objects, Apache Arrow tables, DuckDB Wasm, and HTTP GET Requests. For different data sizes, or if you want the computation to take place in the browser, different data types are recommended.\n\n| DB                        | Recommended Data Size            | Memory/Computation | Description                                                                                    |\n| ------------------------- | -------------------------------- | ------------------ | ---------------------------------------------------------------------------------------------- |\n| [`JsonDB`](#JsonDB)       | up to 500k                       | Browser            | Takes javascript object                                                                        |\n| [`ArrowDB`](#ArrowDB)     | up to 1m                         | Browser            | Takes [Apache Arrow](https://github.com/apache/arrow) table                                    |\n| [`DuckDB`](#DuckDB)       | up to 10m                        | Browser            | Queries [DuckDB WASM](https://duckdb.org/docs/api/wasm/overview.html) database                 |\n| [`HeavyaiDB`](#HeavyaiDB) | whatever your backend can handle | Backend            | Queries [HeavyAI](https://www.heavy.ai/) database connection                                   |\n| [`HttpDB`](#HttpDB)       | whatever your backend can handle | Backend            | Sends GET request to a backend server (sends SQL queries and expects arrow tables in response) |\n\nThey are all typed as `FalconDB`.\n\n```ts\nimport { JsonDB, ArrowDB, DuckDB, HttpDB } from \"falcon-vis\";\n```\n\n### Linking Views\n\nFirst initialize the `FalconVis` instance with your data. I will use the `ArrowDB` for this example for the 1M flights dataset.\n\n```ts\nimport { tableFromIPC } from \"@apache-arrow\";\nimport { FalconVis, ArrowDB } from \"falcon-vis\";\n\n// load the flights-1m.arrow data into memory\nconst buffer = await (await fetch(\"data/flights-1m.arrow\")).arrayBuffer();\nconst arrowTable = await tableFromIPC(buffer);\n\n// initialize the falcon instance with the data\nconst db = new ArrowDB(arrowTable);\nconst falcon = new FalconVis(db);\n```\n\nNext, create views that contain the data dimension and what happens when the cross-filtered counts change (`onChange`). `FalconVis` supports 0D and 1D views.\n\nNote that your specified `onChange` function is called every time the cross-filtered counts change so that you can update your visualization with the new filtered counts.\n\n**Distance View**\n\n![dist](https://github.com/cmudig/falcon/assets/65095341/e6c474f5-f717-4f48-baff-eb2a2971dd05)\n\n```ts\nconst distanceView = await falcon.view1D({\n\ttype: \"continuous\",\n\tname: \"Distance\",\n\tbins: 25,\n\tresolution: 400,\n});\ndistanceView.onChange((counts) => {\n\tupdateDistanceBarChart(counts);\n});\n```\n\n**Arrival Delay View**\n\n![delay](https://github.com/cmudig/falcon/assets/65095341/008968fe-f2be-4577-a04e-0a8323a98509)\n\n```ts\nconst arrivalDelayView = await falcon.view1D({\n\ttype: \"continuous\",\n\tname: \"ArrDelay\",\n\trange: [-20, 140],\n\tbins: 25,\n\tresolution: 400,\n});\narrivalDelay.onChange((counts) => {\n\tupdateDelayBarChart(counts);\n});\n```\n\n**Total Count**\n\n<img width=\"276\" alt=\"Screenshot 2023-05-20 at 5 32 33 PM\" src=\"https://github.com/cmudig/falcon/assets/65095341/ec903e37-07b6-43c5-b288-32875db0d073\">\n\n```ts\nconst countView = await falcon.view0D();\ncountView.onChange((count) => {\n\tupdateCount(count);\n});\n```\n\nLink the views together to fetch the initial counts (outputs are shown above).\n\n```ts\nawait falcon.link();\n```\n\n### Cross-Filtering Views\n\nNow, you can cross-filter the views by calling `.select()` on a view. `FalconVis` uses the [Falcon](https://www.domoritz.de/papers/2019-Falcon-CHI.pdf) data index to cross-filter the views.\n\nFalcon works by activating a single view that you plan to interact with. In the background, we compute the Falcon data index when you activate a view. Then, when you `.select()` on an activated view, in we fetch the cross-filtered counts for the other views in constant time.\n\n**For Example**\n\nI directly `.activate()` the `distanceView` from before to prefetch the Falcon data index.\n\n```ts\nawait distanceView.activate();\n```\n\nThen, I can apply a filter with `.select([rangeStart, rangeEnd])` for continuous data\n\n```ts\nawait distanceView.select([1000, 2000]); // 1k to 2k miles\n```\n\nWhich automatically cross-filters and updates the counts for other views in constant time (`onChange` is called for each other view).\n\nIn the [live example](https://observablehq.com/d/68fae2b29f7f389a), you can take mouse events to call the `select()` with user selected filters as shown in the video\n\nhttps://github.com/cmudig/falcon/assets/65095341/ab7fa9fc-d51f-4830-89f6-93ac6913a5d3\n\n## API Reference\n\n<a href=\"#JsonDB\" id=\"JsonDB\">#</a> `class` <b>JsonDB</b>(_object_)\n\nTakes a javascript object and attaches `FalconVis` data index methods to it. Under the hood, it converts into a <b>ArrowDB</b> class.\n\nThe JsonDB supports row-wise or column-wise object formats, but it is recommended to use column-wise format because the row-wise format converts to column-wise with a copy.\n\n**Columns JSON Example**\n\n```ts\nimport { JsonDB } from \"falcon-vis\";\n\nconst columnarJson = {\n\tnames: [\"bob\", \"billy\", \"joe\"],\n\tages: [21, 42, 40],\n};\n\nconst db = new JsonDB(columnarJson); // ⬅️\n```\n\n**Rows JSON Example**\n\n```ts\nimport { JsonDB } from \"falcon-vis\";\n\nconst rowJson = [\n\t{ name: \"bob\", age: 21 },\n\t{ name: \"billy\", age: 42 },\n\t{ name: \"joe\", age: 40 },\n];\n\nconst db = new JsonDB(rowJson); // ⬅️, but does a copy over rowJson\n```\n\n<br> <a href=\"#ArrowDB\" id=\"ArrowDB\">#</a> `class` <b>ArrowDB</b>(_table_)\n\nTakes an Apache Arrow `Table` created using the [`apache-arrow`](https://www.npmjs.com/package/apache-arrow) package and attaches `FalconVis` data index methods to it.\n\n**Example**\n\n```ts\nimport { ArrowDB } from \"falcon-vis\";\nimport { tableFromIPC } from \"apache-arrow\";\n\nconst buffer = await (await fetch(\"data/flights-1m.arrow\")).arrayBuffer();\nconst table = await tableFromIPC(buffer);\n\nconst db = new ArrowDB(table); // ⬅️\n```\n\n**Arrow Shorthand Example**\n\n```ts\nimport { ArrowDB } from \"falcon-vis\";\n\nconst db = await ArrowDB.fromArrowFile(\"data/flights-1m.arrow\"); // ⬅️\n```\n\n<br> <a href=\"#DuckDB\" id=\"DuckDB\">#</a> `class` <b>DuckDB</b>(_duckdb_, _table_)\n\nTakes a [`@duckdb/duckdb-wasm`](https://github.com/duckdb/duckdb-wasm) db and table name within the db and attaches `FalconVis` data index methods to it.\n\n**Example**\n\n```ts\nimport { DuckDB } from \"falcon-vis\";\nimport * as duckdb from \"@duckdb/duckdb-wasm\";\n\n// duckdb setup\nconst JSDELIVR_BUNDLES = duckdb.getJsDelivrBundles();\nconst bundle = await duckdb.selectBundle(JSDELIVR_BUNDLES);\nconst worker = await duckdb.createWorker(bundle.mainWorker!);\nconst logger = new duckdb.ConsoleLogger();\nconst flightsDb = new duckdb.AsyncDuckDB(logger, worker);\nawait flightsDb.instantiate(bundle.mainModule, bundle.pthreadWorker);\nconst c = await flightsDb.connect();\n// load parquet file into table called flights\nawait c.query(\n\t`CREATE TABLE flights\n     AS SELECT * FROM parquet_scan('${window.location.href}/data/flights-1m.parquet')`\n);\nc.close();\n\nconst db = new DuckDB(flightsDb, \"flights\"); // ⬅️\n```\n\n**Parquet Shorthand Example**\n\nIf you just want to load one parquet file, you can use the shorthand method `DuckDB.fromParquetFile()`.\n\n```ts\nimport { DuckDB } from \"falcon-vis\";\n\nconst db = await DuckDB.fromParquetFile(\"data/flights-1m.parquet\"); // ⬅️\n```\n\n<br> <a href=\"#HeavyaiDB\" id=\"HeavyaiDB\">#</a> `class` <b>HeavyaiDB</b>(_session_, _table_)\n\nTakes in a _session_ from [`@heavyai/connector`](https://docs.heavy.ai/apis-and-interfaces/heavyai-connector) with a given _table_ name.\n\n**Example**\n\n```ts\nimport { HeavyaiDB } from \"falcon-vis\";\nimport HeavyaiCon from \"@heavyai/connector\";\n\nconst connector = new HeavyaiCon();\nconst conn = {\n\thost: \"your host url address\",\n\tdbName: \"db name\",\n\tuser: \"user name\",\n\tpassword: \"password\",\n\tprotocol: \"https\",\n\tport: 443,\n};\nconst connection = connector\n\t.protocol(conn.protocol)\n\t.host(conn.host)\n\t.port(conn.port)\n\t.dbName(conn.dbName)\n\t.user(conn.user)\n\t.password(conn.password);\n\nconst session = await connection.connectAsync();\n\nconst tableName = \"flights\";\nconst db = new HeavyaiDB(session, tableName); // ⬅️\n```\n\n**Session Connection Shorthand**\n\n```ts\nimport { HeavyaiDB } from \"falcon-vis\";\n\nconst tableName = \"flights\";\nconst db = await HeavyaiDB.connectSession(️{\n    host: \"your host url address\",\n    dbName: \"db name\",\n    user: \"user name\",\n    password: \"password\",\n    protocol: \"https\",\n    port: 443\n  }, tableName); // ⬅️\n```\n\n<br> <a href=\"#HttpDB\" id=\"HttpDB\">#</a> `class` <b>HttpDB</b>(_url_, _table_, _encodeQuery_?)\n\nHttpDB sends SQL queries (from _table_ name) over HTTP GET to the _url_ and hopes to receive an Apache Arrow table bytes in response.\n\n_encodeQuery_ is an optional parameter that encodes the SQL query before sending it over HTTP GET. By default it uses the [`encodeURIComponent`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) function on the SQL query so that it can be sent in the url.\n\n**Example**\n\n```ts\nimport { HttpDB } from \"falcon-vis\";\n\nconst tableName = \"flights\";\nconst db = new HttpDB(\"http://localhost:8000\", tableName); // ⬅️\n```\n\n<br> <a href=\"#FalconVis\" id=\"FalconVis\">#</a> `class` <b>FalconVis</b>(_db_)\n\nThe main logic that orchestrates the cross-filtering between views.\n\nTakes in the data ([`JsonDB`](#JsonDB), [`ArrowDB`](#ArrowDB), [`DuckDB`](#DuckDB), [`HeavyaiDB`](#HeavyaiDB), or [`HttpDB`](#HttpDB)).\n\n**Example**\n\n```ts\nimport { FalconVis } from \"falcon-vis\";\n\n// given a db: FalconDB\nconst falcon = new FalconVis(db); // ⬅️\n```\n\n<br> <a href=\"#view0D\" id=\"view0D\">#</a> `function` <a href=\"#FalconVis\">falcon</a>.<b>view0D</b>(onChangeCallback?)\n\nAdds a 0D view onto an existing `FalconVis` instance named <a href=\"#FalconVis\">falcon</a> and describes what to execute when the counts change.\n\nTakes an `onChangeCallback` function that is called whenever the view count changes (after cross-filtering).\n\nReturns a `View0D` instance (you can add more onChange callbacks to it later).\n\nThe `onChangeCallback` gives you access to the updated filtered count and total count of the rows (`View0DState`) object as a parameter.\n\n```ts\ninterface View0DState {\n\ttotal: number | null;\n\tfilter: number | null;\n}\n```\n\n**Example**\n\n```ts\nimport { FalconVis } from \"falcon-vis\";\n\nconst falcon = new FalconVis(db);\n\nconst countView = falcon.view0D((count) => {\n\tconsole.log(count.total, count.filter); // gets called every cross-filter\n}); // ⬅️\n```\n\n**Example multiple and disposable `onChangeCallback`s**\n\n```ts\nimport { FalconVis } from \"falcon-vis\";\n\nconst falcon = new FalconVis(db);\n\n// create view0D\nconst countView = falcon.view0D();\n// add onChange callbacks\nconst disposeA = countView.onChange((count) => {\n\tconsole.log(\"A\", count.total, count.filter);\n}); // ⬅️\nconst disposeB = countView.onChange((count) => {\n\tconsole.log(\"B\", count.total, count.filter);\n}); // ⬅️\n\n// then can be disposed later to stop listening for onChange\ndisposeA();\ndisposeB();\n```\n\n<br> <a href=\"#view1D\" id=\"view1D\">#</a> `function` <a href=\"#FalconVis\">falcon</a>.<b>view1D</b>(dimension, onChangeCallback?)\n\nAdds a 1D view onto an existing `FalconVis` instance named <a href=\"#FalconVis\">falcon</a> and describes what to execute when the counts change. A 1D view is a histogram of the data with counts per bin.\n\n<i>dimension</i> is a `Dimension` object that defines which data column to use for the 1D view. (more info below)\n\nTakes an `onChangeCallback` function that is called whenever the view count changes (after cross-filtering).\n\nReturns a `View1D` instance (you can add more onChange callbacks to it later).\n\nThe <i>dimension</i> can be `type: \"categorical\"` for discrete values or `type: \"continuous\"` for ranged values.\n\nA continuous `Dimension` can be defined as follows (with ? being optional parameters):\n\n```ts\ninterface ContinuousDimension {\n\t/* continuous range of values */\n\ttype: \"continuous\";\n\n\t/* column name in the data table */\n\tname: string;\n\n\t/**\n\t * resolution of visualization brushing (e.g., histogram is 400px wide, resolution: 400)\n\t * a smaller resolution than the brush will approximate the counts, but be faster\n\t */\n\tresolution: number;\n\n\t/**\n\t * max number of bins to create, the result could be less bins\n\t *\n\t * @default computed from the data using scotts rule\n\t */\n\tbins?: number;\n\n\t/**\n\t * forces the specified number bins to use exactly\n\t * otherwise, will use the specified number of bins as a suggestion\n\t *\n\t * @default false\n\t */\n\texact?: boolean;\n\n\t/**\n\t * [min, max] extent to limit the range of data values\n\t * @default computed from the data\n\t */\n\trange?: [number, number];\n\n\t/* should format for dates */\n\ttime?: boolean;\n}\n```\n\nA categorical dimension can be defined as follows:\n\n```ts\ninterface CategoricalDimension {\n\t/* categorical values */\n\ttype: \"categorical\";\n\n\t/* column name in the data table */\n\tname: string;\n\n\t/**\n\t * categorical values to include\n\t *\n\t * @default computed from the data\n\t */\n\trange?: string[];\n}\n```\n\nThe `onChangeCallback` gives you access to the updated counts per bin (`View1DState`) object as a parameter.\n\nIf the view is type continuous:\n\n```ts\ninterface ContinuousView1DState {\n\t/* total counts per bin */\n\ttotal: Float64Array | null;\n\t/* filtered counts per bin */\n\tfilter: Float64Array | null;\n\t/* continuous bins */\n\tbin: { binStart: number; binEnd: number }[] | null;\n}\n```\n\nIf the view is type categorical:\n\n```ts\ninterface CategoricalView1DState {\n\t/* total counts per bin */\n\ttotal: Float64Array | null;\n\t/* filtered counts per bin */\n\tfilter: Float64Array | null;\n\t/* categorical bin labels */\n\tbin: string[] | null;\n}\n```\n\n**Initialization**\n\n```ts\nimport { FalconVis } from \"falcon-vis\";\n\nconst falcon = new FalconVis(db);\n\n// continuous\nconst distanceView = await falcon.view1D(\n\t{\n\t\ttype: \"continuous\",\n\t\tname: \"Distance\",\n\t\tresolution: 400,\n\t\tbins: 25,\n\t},\n\t(counts) => {\n\t\tconsole.log(counts.total, counts.filter, counts.bin); // gets called every cross-filter\n\t}\n); // ⬅️\n\n// categorical\nconst originStateView = await falcon.view1D(\n\t{\n\t\ttype: \"categorical\",\n\t\tname: \"OriginState\",\n\t},\n\t(counts) => {\n\t\tconsole.log(counts.total, counts.filter, counts.bin);\n\t}\n); // ⬅️\n```\n\n**Interaction**\n\n<a href=\"#activate\" id=\"activate\">#</a> `function` <a href=\"#view1D\">view</a>.<b>activate</b>()\n\nYou must `.activate()` a view before `.select()`ing it. `.activate()` computes the [Falcon](https://www.domoritz.de/papers/2019-Falcon-CHI.pdf) index so that subsequent `.select()`s are fast (constant time). More details on the [Falcon](https://www.domoritz.de/papers/2019-Falcon-CHI.pdf) index can be found in the [paper](https://www.domoritz.de/papers/2019-Falcon-CHI.pdf).\n\n<a href=\"#select\" id=\"select\">#</a> `function` <a href=\"#view1D\">view</a>.<b>select</b>(<i>filter</i>)\n\nYou can directly interact with you `View1D` (<a href=\"#view1D\">view</a>) instance to filter the dimension and automatically cross-filter all other views on the same `FalconVis` instance.\n\nYou only have to call `.activate()` everytime before you interact with a new view, but only once!\n\nThe index changes when new filters are present, so if you `.activate()` a view, then `.activate()` a different view and filter that view, when you come back to the original view you have to call `.activate()` again.\n\nContinuous view selection:\n\n```ts\nawait distanceView.activate(); // compute Falcon index\nawait distanceView.select([0, 1000]); // filter to only flights with distance between 0 and 1000 miles\nawait distanceView.select([600, 800]); // change filter\nawait distanceView.select(); // deselect all\n```\n\nCategorical view selection:\n\n```ts\nawait originStateView.activate(); // compute Falcon index\nawait originStateView.select([\"CA\", \"PA\", \"OR\"]); // select California, Pennsylvania, and Oregon\nawait originStateView.select([\"FL\"]); // change filter\nawait originStateView.select(); // deselect all\n```\n\nAfter each `.select()` the `onChangeCallback` will be called with the updated counts on all other views.\n\n<br> <a href=\"#detach\" id=\"detach\">#</a> `function` <a href=\"#view1D\">view</a>.<b>detach</b>()\nDetach is how you remove your view from the `FalconVis` instance. Note that you directly call this on the <a href=\"#view1D\">view</a> instance, not the `FalconVis` instance.\n\n<br><a href=\"#attach\" id=\"attach\">#</a> `function` <a href=\"#view1D\">view</a>.<b>attach</b>()\nAttach is how you add your view back onto the `FalconVis` instance. Note that you directly call this on the <a href=\"#view1D\">view</a> instance, not the `FalconVis` instance.\n\n<br> <a href=\"#link\" id=\"link\">#</a> `function` <a href=\"#FalconVis\">falcon</a>.<b>link</b>()\n\nThe link function takes the added views and links them together. This is required before cross-filtering.\n\nlink also initializes the counts for all views.\n\nCall link whenever you add or remove views. Calling link once will suffice after adding (or removing) multiple views.\n\n**Example**\n\n```ts\nimport { FalconVis } from \"falcon-vis\";\n\nconst falcon = new FalconVis(db);\n\nconst distanceView = await falcon.view1D(\n\t{\n\t\ttype: \"continuous\",\n\t\tname: \"Distance\",\n\t\tresolution: 400,\n\t\tbins: 25,\n\t},\n\t(counts) => {\n\t\tconsole.log(counts.total, counts.filter, counts.bin);\n\t}\n);\nconst countView = falcon.view0D((count) => {\n\tconsole.log(count.total, count.filter);\n});\n\nawait falcon.link(); // 🔗⬅️\n```\n\nWhich then proceeds to call the `onChangeCallback` for each view with the initial counts. So you will see two console.logs from this particular example to start.\n\n<br> <a href=\"#entries\" id=\"entries\">#</a> `function` <a href=\"#FalconVis\">falcon</a>.<b>entries</b>(<i>location</i>)\n\nThis gives you access to the filtered entries. So after cross-filtering you need to manually call this if you want to extract the filtered entries.\n\nTakes a <i>location</i> defined by\n\n```ts\ninterface Location {\n\t/* defaults to 0 */\n\toffset?: number;\n\n\t/* defaults to Infinity (all) */\n\tlength?: number;\n}\n```\n\nWhere `offset` refers to the offset in the data table and `length` refers to the number of rows to return.\n\nNote that `offset` refers to the filtered data table, so if you have a filter applied, the offset will be relative to the filtered data table.\n\nReturns an Iterator over the entries in the data table as `Iterable<Row>` where `Row` is an object with key names corresponding to the column names in the data table.\n\n**Example**\n\n```ts\nimport { FalconVis } from \"falcon-vis\";\n\nconst falcon = new FalconVis(db);\n\nconst entries = await falcon.entries({\n\toffset: 0,\n\tlength: 25,\n}); // first 25 entries ⬅️\n\n// print out first 25 distances\nfor (const entry of entries) {\n\tconsole.log(entry[\"Distance\"]);\n}\n```\n\nYou can easily use offset to shift over 25, to then get the second 25 entries. (or by whatever amount you want).\n\n```ts\nconst entries = await falcon.entries({\n\toffset: 25, // start after 25 entries\n\tlength: 25,\n}); // second 25 entries ⬅️\n\n// print out second 25 distances\nfor (const entry of entries) {\n\tconsole.log(entry[\"Distance\"]);\n}\n```\n","readmeFilename":"README.md","description":"**`Github Pages`**"}