extra-map.web
Version:
A group of functions for working with Maps {web}.
1 lines • 9.48 kB
JavaScript
!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).extra_map=n()}}((function(){return function n(r,e,t){function u(f,a){if(!e[f]){if(!r[f]){var i="function"==typeof require&&require;if(!a&&i)return i(f,!0);if(o)return o(f,!0);var l=new Error("Cannot find module '"+f+"'");throw l.code="MODULE_NOT_FOUND",l}var c=e[f]={exports:{}};r[f][0].call(c.exports,(function(n){return u(r[f][1][n]||n)}),c,c.exports,n,r,e,t)}return e[f].exports}for(var o="function"==typeof require&&require,f=0;f<t.length;f++)u(t[f]);return u}({1:[function(n,r,e){"use strict";function t(n){return n}function u(n,r){return n<r?-1:n>r?1:0}function o(n,r){return n[function(n,r){var e=n.length;return r>=0?Math.min(r,e):Math.max(e+r,0)}(n,r)]}function f(n,r){return n.length>0?n[n.length-1]:r}function*a(n,r=-1){var e=n.length;if(!(r>e))if(r!==e)if(0!==r&&0!==e){var t=n.slice(0,-1);for(var u of(yield*a(t,r),a(t,r-1)))u.push(n[e-1]),yield u}else yield[];else yield n}function i(n,r=Math.random){return n[Math.floor(r()*n.length)]}function l(n,r=-1,e=Math.random){return r>n.length?null:r>=0?function(n,r,e){var t=function(n,r,e=1){for(var t=(r-n)/e,u=[],o=0;o<t;++o,n+=e)u.push(n);return u}(0,n.length);return function(n,r=-1,e=Math.random){var t=n.length;if(r>t)return n;r=r>=0?r:Math.floor((t+1)*e());for(var u=0;u<r;++u){var o=u+Math.floor((t-u)*e()),f=n[u];n[u]=n[o],n[o]=f}return n.length=r,n}(t,r,e).sort(),function(n,r){return r.map((r=>o(n,r)))}(n,t)}(n,r,e):function(n,r){var e=[];for(var t of n)r()<.5&&e.push(t);return e}(n,e)}function c(n,r=null){return r?n.some(r):function(n){for(var r=0,e=n.length;r<e;++r)if(n[r])return!0;return!1}(n)}function s(n){return n instanceof Map}function v(n){return new Map(n)}function p(n){return n instanceof Map?n:new Map(n)}function h(n,r,e=null,o=null){e=e||u,o=o||t;var f=D(n,r);for(var a of f){if(!n.has(a))return-1;if(!r.has(a))return 1;var i=e(o(n.get(a),a,n),o(r.get(a),a,r));if(0!==i)return i}return 0}function d(n){return n.size}function m(n,r){for(var e of r)n=s(n)?n.get(e):void 0;return n}function M(n,r,e){var t=n.get(r);return n.set(r,n.get(e)),n.set(e,t),n}function g(n,r){return n.delete(r),n}function y(n,r=null,e=null){r=r||u,e=e||t;var o,f,a,i,l,c,s=0;for(var[v,p]of n){var h=e(p,v,n);(0===s||r(h,a)<0)&&(o=v,f=p,a=h),(0===s||r(h,c)>0)&&(i=v,l=p,c=h),++s}return[[o,f],[i,l]]}function w(n,r=1){var e=new Map,t=-1;for(var[u,o]of n)++t>=r&&e.set(u,o);return e}function k(n,r=Math.random){return i([...n.keys()],r)}function $(n,r=Math.random){return i([...n],r)}function b(n,r=-1,e=Math.random){var t=l([...n.keys()],r,e);return A(n,t)}function E(n,r){return n.has(r)}function x(n,r,e=null,o=null){e=e||u;var f=(o=o||t)(r,null,null);for(var[a,i]of n){if(0===e(o(i,a,n),f))return a}}function A(n,r){var e=new Map;for(var t of r)e.set(t,n.get(t));return e}function j(n,r){for(var e of r)n.delete(e);return n}function z(n,r,e,t,u){for(var[o,f]of r){var a=t(f,o,r);0!==e&&u(a,o,r)?z(n,a,e-1,t,u):n.set(o,a)}return n}function q(n,...r){for(var e of r)for(var[t,u]of e)n.set(t,u);return n}function D(...n){var r=new Set;for(var e of n)for(var[t]of e)r.add(t);return r}function K(n,r,e=null){e=e||t;for(var[u,o]of r)n.has(u)?n.set(u,e(n.get(u),o)):n.set(u,o);return n}function P(n,r){for(var[e]of r)n.delete(e);return n}function S(n,r){for(var[e,t]of r)n.has(e)?n.delete(e):n.set(e,t);return n}e.cartesianProduct=function*(n,r=null){r=r||t;for(var e=n.length,u=n.map((n=>[...n.keys()])),o=u.map((n=>n.length)),f=u.map((n=>0)),a=0;;++a){for(var i=new Map,l=0;l<e;++l){var c=f[l],s=n[l],v=u[l][c];i.set(v,s.get(v))}yield r(i,a,null);for(var p=e-1;p>=0&&!(++f[p]<o[p]);--p)f[p]=0;if(p<0)break}},e.chunk=function(n,r=1,e=r){for(var t=[...n.keys()],u=[],o=0,f=t.length;o<f;o+=e)u.push(A(n,t.slice(o,o+r)));return u},e.compare=h,e.concat=function(...n){return q(new Map,...n)},e.concat$=q,e.count=function(n,r){var e=0;for(var[t,u]of n)r(u,t,n)&&++e;return e},e.countAs=function(n,r=null){r=r||t;var e=new Map;for(var[u,o]of n){var f=r(o,u,n),a=e.get(f)||0;e.set(f,a+1)}return e},e.difference=function(n,r){return P(new Map(n),r)},e.difference$=P,e.drop=w,e.drop$=function(n,r=1){var e=-1;for(var t of n.keys()){if(++e>=r)break;n.delete(t)}return n},e.entries=function(n){return n.entries()},e.entry=$,e.every=function(n,r){for(var[e,t]of n)if(!r(t,e,n))return!1;return!0},e.filter=function(n,r){var e=new Map;for(var[t,u]of n)r(u,t,n)&&e.set(t,u);return e},e.filter$=function(n,r){for(var[e,t]of n)r(t,e,n)||n.delete(e);return n},e.filterAt=A,e.filterAt$=function(n,r){for(var e of n.keys())r.includes(e)||n.delete(e);return n},e.find=function(n,r){for(var[e,t]of n)if(r(t,e,n))return t},e.findAll=function(n,r){var e=[];for(var[t,u]of n)r(u,t,n)&&e.push(u);return e},e.flat=function(n,r=-1,e=null,u=null){return e=e||t,u=u||s,z(new Map,n,r,e,u)},e.flatMap=function(n,r=null,e=null){r=r||t,e=e||s;var u=new Map;for(var[o,f]of n){var a=r(f,o,n);e(a,o,n)?q(u,a):u.set(o,a)}return u},e.forEach=function(n,r){for(var[e,t]of n)r(t,e,n)},e.from=v,e.from$=p,e.fromEntries=v,e.fromEntries$=p,e.fromKeys=function(n,r=null){r=r||t;var e=new Map,u=-1;for(var o of n)e.set(o,r(o,++u,n));return e},e.fromLists=function(n){var[r,e]=n,t=e[Symbol.iterator](),u=new Map;for(var o of r)u.set(o,t.next().value);return u},e.fromValues=function(n,r=null){r=r||t;var e=new Map,u=-1;for(var o of n)e.set(r(o,++u,n),o);return e},e.get=function(n,r){return n.get(r)},e.getAll=function(n,r){return r.map((r=>n.get(r)))},e.getPath=m,e.has=E,e.hasEntry=function(n,r,e=null,o=null){e=e||u,o=o||t;var[f,a]=r;return n.has(f)&&0===e(o(n.get(f),f,n),a)},e.hasKey=E,e.hasPath=function(n,r){for(var e of r){if(!s(n))return!1;n=n.get(e)}return!0},e.hasSubset=function(n,r,e=null,o=null){for(var[f,a]of(e=e||u,o=o||t,r)){if(!n.has(f))return!1;if(0!==e(o(n.get(f),f,n),o(a,f,r)))return!1}return!0},e.hasValue=function(n,r,e=null,t=null){return void 0!==x(n,r,e,t)},e.head=function(n,r=[]){for(var e of n)return e;return r},e.intersection=function(n,r,e=null){e=e||t;var u=new Map;for(var[o,f]of r)n.has(o)&&u.set(o,e(n.get(o),f));return u},e.intersection$=function(n,r,e=null){e=e||t;var u=[];for(var[o,f]of[...n])r.has(o)||u.push(o),n.set(o,e(f,r.get(o)));return j(n,u)},e.intersectionKeys=function(...n){var r=new Set;if(0===n.length)return r;var e=n[0],t=n.slice(1);n:for(var u of e.keys()){for(var o of t)if(!o.has(u))continue n;r.add(u)}return r},e.is=s,e.isDisjoint=function(n,r){for(var[e]of r)if(n.has(e))return!1;return!0},e.isEmpty=function(n){return 0===n.size},e.isEqual=function(n,r,e=null,t=null){return n.size===r.size&&0===h(n,r,e,t)},e.join=function(n,r=",",e="="){var t="";for(var[u,o]of n)t+=u+e+o+r;return t.slice(0,-r.length)},e.key=k,e.keys=function(n){return n.keys()},e.length=d,e.map=function(n,r){var e=new Map;for(var[t,u]of n)e.set(t,r(u,t,n));return e},e.map$=function(n,r){for(var[e,t]of n)n.set(e,r(t,e,n));return n},e.max=function(n,r=null,e=null){return y(n,r,e)[1][1]},e.maxEntry=function(n,r=null,e=null){return y(n,r,e)[1]},e.min=function(n,r=null,e=null){return y(n,r,e)[0][1]},e.minEntry=function(n,r=null,e=null){return y(n,r,e)[0]},e.partition=function(n,r){var e=new Map,t=new Map;for(var[u,o]of n)r(o,u,n)?e.set(u,o):t.set(u,o);return[e,t]},e.partitionAs=function(n,r){r=r||t;var e=new Map;for(var[u,o]of n){var f=r(o,u,n);e.has(f)||e.set(f,new Map),e.get(f).set(u,o)}return e},e.randomEntry=$,e.randomKey=k,e.randomSubset=b,e.range=function(n,r=null,e=null){var[t,u]=y(n,r,e);return[t[1],u[1]]},e.rangeEntries=y,e.reduce=function(n,r,e){var t=arguments.length<=2;for(var[u,o]of n)t?(e=o,t=!1):e=r(e,o,u,n);return e},e.reject=function(n,r){var e=new Map;for(var[t,u]of n)r(u,t,n)||e.set(t,u);return e},e.reject$=function(n,r){for(var[e,t]of n)r(t,e,n)&&n.delete(e);return n},e.rejectAt=function(n,r){return j(new Map(n),r)},e.rejectAt$=j,e.remove=function(n,r){return g(new Map(n),r)},e.remove$=g,e.removePath$=function(n,r){var e=m(n,r.slice(0,-1));return s(e)&&e.delete(f(r)),n},e.search=function(n,r){for(var[e,t]of n)if(r(t,e,n))return e},e.searchAll=function(n,r){var e=[];for(var[t,u]of n)r(u,t,n)&&e.push(t);return e},e.searchValue=x,e.searchValueAll=function(n,r,e=null,o=null){e=e||u;var f=(o=o||t)(r,null,null),a=[];for(var[i,l]of n){0===e(o(l,i,n),f)&&a.push(i)}return a},e.set=function(n,r,e){return new Map(n).set(r,e)},e.set$=function(n,r,e){return n.set(r,e)},e.setPath$=function(n,r,e){var t=m(n,r.slice(0,-1));return s(t)&&t.set(f(r),e),n},e.size=d,e.some=function(n,r){for(var[e,t]of n)if(r(t,e,n))return!0;return!1},e.subset=b,e.subsets=function*(n,r=-1){for(var e of function(n,r=-1){return[...a(n,r)]}([...n.keys()],r))yield A(n,e)},e.swap=function(n,r,e){return M(new Map(n),r,e)},e.swap$=M,e.symmetricDifference=function(n,r){return S(new Map(n),r)},e.symmetricDifference$=S,e.tail=function(n){return w(n,1)},e.take=function(n,r=1){var e=new Map,t=-1;for(var[u,o]of n){if(++t>=r)break;e.set(u,o)}return e},e.take$=function(n,r=1){var e=-1;for(var t of n.keys())++e>=r&&n.delete(t);return n},e.union=function(n,r,e=null){return K(new Map(n),r,e)},e.union$=K,e.unionKeys=D,e.values=function(n){return n.values()},e.zip=function(n,r=null,e=null,u){r=r||t,e=e||c;var o=D(...n),f=new Map;for(var a of o){if(e(n.map((n=>!n.has(a)))))break;var i=n.map((n=>n.has(a)?n.get(a):u));f.set(a,r(i,a,null))}return f}},{}]},{},[1])(1)}));