/
index.js
1 lines (1 loc) · 4.23 KB
/
index.js
1
!function(r,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("@seregpie/bron-kerbosch")):"function"==typeof define&&define.amd?define(["@seregpie/bron-kerbosch"],n):(r="undefined"!=typeof globalThis?globalThis:r||self).MaxDiff=n(r.BronKerbosch)}(this,(function(r){"use strict";function n(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var t=n(r);function e(r,n){return function(r){if(Array.isArray(r))return r}(r)||function(r,n){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null==t)return;var e,o,u=[],f=!0,i=!1;try{for(t=t.call(r);!(f=(e=t.next()).done)&&(u.push(e.value),!n||u.length!==n);f=!0);}catch(r){i=!0,o=r}finally{try{f||null==t.return||t.return()}finally{if(i)throw o}}return u}(r,n)||u(r,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(r){return function(r){if(Array.isArray(r))return f(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||u(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(r,n){if(r){if("string"==typeof r)return f(r,n);var t=Object.prototype.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?f(r,n):void 0}}function f(r,n){(null==n||n>r.length)&&(n=r.length);for(var t=0,e=new Array(n);t<n;t++)e[t]=r[t];return e}function i(r,n){return r[function(r,n){var t=0;return r.map(n).reduce((function(r,n,e){return n<r&&(r=n,t=e),r})),t}(r,n)]}function a(r){for(var n=[],t=0,e=r.length-1;t<e;t++)for(var o=t+1,u=e+1;o<u;o++)n.push([r[t],r[o]]);return n}return function r(n){n=o(new Set(n));var u,f=function(){return o(n)};n.length<2&&(u=n);var c=n.map((function(){return n.map((function(){}))}));n.forEach((function(r,n){c[n][n]=0}));var l=function(r,t){var e=n.indexOf(r),o=n.indexOf(t);return c[e][o]},s=function(r,t){var e=n.indexOf(r),o=n.indexOf(t);c[e][o]=-1,c[o][e]=1},d=l,h=function(r,t){return n.indexOf(r)-n.indexOf(t)},g=function(r,n){for(var t=0,e=Math.min(r.length,n.length);t<e;t++){var o=h(r[t],n[t]);if(o)return o}return r.length-n.length},v=function(r,n){var t=n.length-r.length;return t||g(r,n)},p=function(r){return n.includes(r)},y=function(){var r=a(n).filter((function(r){var n=e(r,2),t=n[0],o=n[1];return null==l(t,o)}));return r.forEach((function(r){r.sort(h)})),r.sort(g),r},m=function(){var r=a(n).filter((function(r){var n=e(r,2),t=n[0],o=n[1];return null!=l(t,o)}));return r.forEach((function(r){r.sort(d)})),r.sort(g),r},b=function(){var r=t.default(y());return r.forEach((function(r){r.sort(h)})),r.sort(v),r},E=function(){var r=t.default(m());return r.forEach((function(r){r.sort(d)})),r.sort(v),r},A=function(r){return n.filter((function(n){return l(n,r)<0})).sort(h)},S=function(r){return n.filter((function(n){return l(n,r)>0})).sort(h)},w=function(){for(var r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];a(n=n.filter((function(r){return p(r)}))).forEach((function(r){var n=e(r,2),t=n[0],o=n[1];if(null==l(t,o)){s(t,o);var u=A(t),f=S(o);u.forEach((function(r){s(r,o)})),f.forEach((function(r){s(t,r)})),u.forEach((function(r){f.forEach((function(n){s(r,n)}))}))}})),y().length||(u=f().sort(d))},x=function(r,n){new Set(n).forEach((function(n){w(r,n)}))},O=function(r,n){new Set(n).forEach((function(n){w(n,r)}))};return{get items(){return f()},get progress(){var r=m().length,n=r+y().length;return n?r/n:1},get complete(){return!!u},get result(){return function(){if(u)return o(u)}()},getCandidates:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,n=b();if(n.length){var t=i(n,(function(n){return Math.abs(n.length-r)}));return t.splice(r),t}return[]},getOrderedPairs:m,getUnorderedPairs:y,getOrderedGroups:E,getUnorderedGroups:b,getItemsBefore:A,getItemsAfter:S,order:w,orderBefore:x,orderAfter:O,orderFirst:function(r){x(r,n)},orderLast:function(r){O(r,n)},clone:function(){var t=r(n);return E().forEach((function(r){t.order.apply(t,o(r))})),t}}}}));