UNPKG

vis-utils

Version:

Utility functions for data visualization

1 lines 3.38 kB
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("d3-array")):"function"==typeof define&&define.amd?define(["exports","d3-array"],t):t(n.visUtils=n.visUtils||{},n.d3)}(this,function(n,t){"use strict";function r(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(n){return n},e=arguments[2],i=arguments[3];if(n&&n.length){if(null==e&&null==i)return t.extent(n,r);n.sort(function(n,t){return r(n)-r(t)});var u=n[0],o=n[n.length-1],f=t.bisector(r).left;if(null!=e){var l=t.quantile(n,e,r),a=Math.max(0,f(n,l));u=r(n[a])}if(null!=i){var c=t.quantile(n,i,r),d=Math.min(n.length-1,f(n,c));o=r(n[d]),o>c&&d>0&&(o=r(n[d-1]))}return[u,o]}}function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(n){return n},e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(n){return n},i=arguments[3],u=arguments[4];if(n&&n.length){var o=n.reduce(function(n,t){return n.concat(e(t))},[]);return r(o,t,i,u)}}function i(n,t){return n[g][h]<=t[h]&&t[h]<=n[M][h]&&n[g][s]<=t[s]&&t[s]<=n[M][s]}function u(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(n){return n[0]},e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(n){return n[1]};return n.filter(function(n){return i(t,[r(n),e(n)])})}function o(n,t){return n[x][p]<=t[m][p]&&t[x][p]<=n[m][p]&&n[x][b]<=t[m][b]&&t[x][b]<=n[m][b]}function f(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(n){return n[0]},e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(n){return n[1]},u=[];return n.visit(function(n,f,l,a,c){var d=o(t,[[f,l],[a,c]]);if(!d)return!0;if(!n.length){var v=n.data;i(t,[r(v),e(v)])&&u.push(v)}return!1}),u}function l(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(n){return n},e=y(n,t,function(n,e){var i=n===t?t:r(n),u=e===t?t:r(e);return i-u});e<0&&(e===-1?e=0:(e=-e-1,e>=n.length&&(e=n.length-1)));var i=n[e],u=n[e-1];return null!=u&&Math.abs(r(i)-t)>Math.abs(r(u)-t)&&(i=u),i}function a(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(n){return n},e=null,i=null;return n.forEach(function(n){var u=Math.abs(r(n)-t);(null==i||u<i)&&(i=u,e=n)}),e}function c(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(n){return n},e=y(n,t,function(n,e){var i=n===t?t:r(n),u=e===t?t:r(e);return i-u});return n[e]}function d(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(n){return n};return n.find(function(n){return r(n)===t})}function v(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[0,0],e=r[q]+(n[q]-r[q])*Math.cos(t)-(n[w]-r[w])*Math.sin(t),i=r[w]+(n[q]-r[q])*Math.sin(t)+(n[w]-r[w])*Math.cos(t);return[e,i]}var h=0,s=1,g=0,M=1,p=0,b=1,x=0,m=1,y=function(n,t,r,e,i){var u,o;if(void 0===e)e=0;else if(e|=0,e<0||e>=n.length)throw new RangeError("invalid lower bound");if(void 0===i)i=n.length-1;else if(i|=0,i<e||i>=n.length)throw new RangeError("invalid upper bound");for(;e<=i;)if(u=e+(i-e>>1),o=+r(n[u],t,u,n),o<0)e=u+1;else{if(!(o>0))return u;i=u-1}return~e},q=0,w=1;n.extentLimited=r,n.extentMulti=e,n.filterInRect=u,n.filterInRectFromQuadtree=f,n.findClosestSorted=l,n.findClosestUnsorted=a,n.findEqualSorted=c,n.findEqualUnsorted=d,n.rectContains=i,n.rectIntersects=o,n.rotate=v,Object.defineProperty(n,"__esModule",{value:!0})});