bonarooo-able
Version:
A tiny linbrary handling abilities
3 lines (2 loc) • 1.64 kB
JavaScript
var Able=function(){'use strict';function a(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a["default"]:a}function b(a,b){return b={exports:{}},a(b,b.exports),b.exports}var c=b(function(a,b){function c(a){return""===a?[""]:"undefined"==typeof a||null===a?[]:"string"==typeof a?[a]:a}b.__esModule=!0,b.Able=void 0,function(a){a.flatten=function(a,b){b=b.slice();for(var d=0,e=b;d<e.length;d++)for(var f,g=e[d],h=c(a[g]),i=0,j=h;i<j.length;i++)f=j[i],b.includes(f)||b.push(f);return b},a.extractValues=function(a){for(var b,c={},d=[],e=0,f=a;e<f.length;e++)if(b=f[e],"?"===b[0]){var g=b.substr(1).split("=",2),h=g[0],i=g[1];if("["===h[h.length-2]&&"]"===h[h.length-1]){var j=h.substr(0,h.length-2);c[j]instanceof Array||(c[j]=[]),"undefined"!=typeof i&&c[j].push(i)}else c[h]="undefined"==typeof i?"":i}else d.push(b);return[c,d]},a.applyValues=function(a,b){return a.reduce(function(a,d){var e=d.match(/\{([^}]+)\}/g);return e?a.concat(e.map(function(a){return a.substr(1,a.length-2)}).reduce(function(a,d){return a.reduce(function(a,e){return a.concat(c(b[d]).map(function(a){return e.replace("{".concat(d,"}"),a)}))},[])},[d])):a.concat([d])},[])},a.resolve=function(b,c){var d=a.flatten(b,c),e=a.extractValues(d),f=e[0],g=e[1];return a.applyValues(g,f)},a.getMissingAbilities=function(a,b){return b.filter(function(b){return!a.includes(b)})},a.canAccess=function(a,b){return 0===this.getMissingAbilities(a,b).length}}(b.Able||(b.Able={}))});a(c),c.Able;var d=b(function(a,b){b.__esModule=!0,b["default"]=c.Able,Object.assign(a.exports,c.Able)}),e=a(d);return e}();
//# sourceMappingURL=bonarooo-able.min.js.map