chaoticbackup.github.io/build/common.js
2024-07-23 14:31:14 -04:00

1 line
7.4 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";(self.webpackChunkchaoticbackup=self.webpackChunkchaoticbackup||[]).push([[76],{99746:(e,i,s)=>{s.d(i,{A:()=>$});var t=s(60918),n=s.n(t),r=s(92291);function g(e,i){if(void 0===i&&(i=!0),e=e.replace(/|/g,"'"),!0===i){if(/[\^$+*\[\]|]/g.test(e))try{return new RegExp(e,"i")}catch(e){}}return e=e.replace(/[\^$+*\[\]\\]/g,"").replace(/[\(\)]/g,(e=>(console.log(e),"\\"+e))),new RegExp(e,"i")}function $(e){var i,s,t,$;const x=new(n())("filter.db").addCollection("filter");var a=x.addDynamicView("filter");a.applySimpleSort("gsx$name");let l=r.A.cards.attacks.chain(),o=r.A.cards.battlegear.chain(),c=r.A.cards.creatures.chain(),d=r.A.cards.locations.chain(),f=r.A.cards.mugic.chain();if(l=l.where((e=>""!=e.gsx$set)),o=o.where((e=>""!=e.gsx$set)),c=c.where((e=>""!=e.gsx$set)),d=d.where((e=>""!=e.gsx$set)),f=f.where((e=>""!=e.gsx$set)),e.name.length>0){const i=[];let s=e.name.replace(/(?:~)([\w,()]+)/g,((e,s)=>(i.push(s),"")));if(s.length>0&&(s=g(s),l=l.find({$or:[{gsx$name:{$regex:s}},{gsx$tags:{$regex:s}}]}),o=o.find({$or:[{gsx$name:{$regex:s}},{gsx$tags:{$regex:s}}]}),c=c.find({$or:[{gsx$name:{$regex:s}},{gsx$tags:{$regex:s}}]}),d=d.find({$or:[{gsx$name:{$regex:s}},{gsx$tags:{$regex:s}}]}),f=f.find({$or:[{gsx$name:{$regex:s}},{gsx$tags:{$regex:s}}]})),i.length>0){const e=e=>{let s=!1;return i.forEach((i=>{s|=e.gsx$name.toLowerCase().indexOf(i.toLowerCase().replace("_"," "))>-1})),!s};l=l.where(e),o=o.where(e),c=c.where(e),d=d.where(e),f=f.where(e)}}if(e.text.length>0){const i=[];let s=e.text.replace(/(?:~)(\w+)/g,((e,s)=>(i.push(s),"")));if(s.length>0){s=g(s);const i=(()=>{const i=[{gsx$tags:{$regex:s}},{gsx$ability:{$regex:s}}];return e.flavor&&(i.push({gsx$flavortext:{$regex:s}}),i.push({gsx$artist:{$regex:s}})),i})();l=l.find({$or:i}),o=o.find({$or:i}),c=c.find({$or:i.concat([{gsx$brainwashed:{$regex:s}}])}),d=d.find({$or:i}),f=f.find({$or:i})}if(i.length>0){const e=function(e,s){void 0===s&&(s=!1);let t=!1;return i.forEach((i=>{t|=e.gsx$ability.toLowerCase().indexOf(i.toLowerCase())>-1,t|=e.gsx$flavortext.toLowerCase().indexOf(i.toLowerCase())>-1,s&&(t|=e.gsx$brainwashed.toLowerCase().indexOf(i.toLowerCase())>-1)})),!t};l=l.where(e),o=o.where(e),c=c.where((i=>e(i,!0))),d=d.where(e),f=f.where(e)}}if(e.subtypes.length>0){const i=e.subtypes.split(",").filter(Boolean).map((e=>({$regex:g(e,!1)})));c=c.find({gsx$types:{$or:i}}),d=d.find({$or:[{gsx$initiative:{$or:i}},{gsx$types:{$or:i}}]}),l=l.limit(0),o=o.find({gsx$types:{$or:i}}),f=f.limit(0)}const p=[];for(const i in e.tribes)e.tribes[i]&&p.push({$regex:new RegExp(i,"i")});if(p.length>0&&(c=c.find({gsx$tribe:{$or:p}}),f=f.find({gsx$tribe:{$or:p}}),l=l.limit(0),o=o.limit(0),d=d.limit(0)),e.elements.none){const{fire:i,air:s,earth:t,water:n}=e.elements;if(e.elements.and){l=l.where((e=>i?""!=e.gsx$fire:""==e.gsx$fire)).where((e=>s?""!=e.gsx$air:""==e.gsx$air)).where((e=>t?""!=e.gsx$earth:""==e.gsx$earth)).where((e=>n?""!=e.gsx$water:""==e.gsx$water));const r=["fire","air","earth","water"].filter((i=>e.elements[i])).join(", ");""!==r&&(c=c.find({gsx$elements:{$regex:new RegExp("^"+r+"s*$","i")}}))}else if(i||s||t||n){i&&(l=l.where((e=>""==e.gsx$fire))),s&&(l=l.where((e=>""==e.gsx$air))),t&&(l=l.where((e=>""==e.gsx$earth))),n&&(l=l.where((e=>""==e.gsx$water)));const r=["fire","air","earth","water"].reduce(((i,s)=>i+(e.elements[s]?"(?!"+s+")":"")),"");c=c.find({gsx$elements:{$regex:new RegExp("^("+r+".)*$","i")}})}else l=l.where((e=>""==e.gsx$fire)).where((e=>""==e.gsx$air)).where((e=>""==e.gsx$earth)).where((e=>""==e.gsx$water)),c=c.where((e=>""==e.gsx$elements));o=o.limit(0),d=d.limit(0),f=f.limit(0)}else{const i=[],s=[];for(const t in e.elements){var m;if("none"!==t&&"and"!==t)if(e.elements[t])i.push({$regex:new RegExp(t,"i")}),s.push(((m={})["gsx$"+t]={$gte:0},m))}i.length>0&&(e.elements.and?(c=c.find({gsx$elements:{$and:i}}),l=l.find({$and:s})):(c=c.find({gsx$elements:{$or:i}}),l=l.find({$or:s})),o=o.limit(0),d=d.limit(0),f=f.limit(0))}const h=e.disciplines.max&&e.disciplines.max?"$lte":"$gte";e.disciplines.courage>0&&(c=c.find({gsx$courage:(i={},i[h]=e.disciplines.courage,i)})),e.disciplines.power>0&&(c=c.find({gsx$power:(s={},s[h]=e.disciplines.power,s)})),e.disciplines.wisdom>0&&(c=c.find({gsx$wisdom:(t={},t[h]=e.disciplines.wisdom,t)})),e.disciplines.speed>0&&(c=c.find({gsx$speed:($={},$[h]=e.disciplines.speed,$)})),e.energy.min>0&&(c=c.find({gsx$energy:{$gte:e.energy.min}})),e.energy.max>0&&e.energy.max>=e.energy.min&&(c=c.find({gsx$energy:{$lte:e.energy.max}})),(e.energy.min>0||e.energy.max>0||e.disciplines.courage>0||e.disciplines.power>0||e.disciplines.wisdom>0||e.disciplines.speed>0)&&(l=l.limit(0),o=o.limit(0),d=d.limit(0),f=f.limit(0)),""!==e.mcbp.min&&e.mcbp.min>=0&&(l=l.find({gsx$bp:{$gte:e.mcbp.min}}),c=c.find({gsx$mugicability:{$gte:e.mcbp.min}}),f=f.find({gsx$cost:{$gte:e.mcbp.min}})),""!==e.mcbp.max&&e.mcbp.max>=0&&e.mcbp.max>=e.mcbp.min&&(l=l.find({gsx$bp:{$lte:e.mcbp.max}}),c=c.find({gsx$mugicability:{$lte:e.mcbp.max}}),f=f.find({gsx$cost:{$lte:e.mcbp.max}})),(e.mcbp.max>0||e.mcbp.min>0)&&(o=o.limit(0),d=d.limit(0)),e.mull.unique&&(l=l.find({gsx$unique:{$gt:0}}),o=o.find({gsx$unique:{$gt:0}}),c=c.find({gsx$unique:{$gt:0}}),d=d.find({gsx$unique:{$gt:0}}),f=f.find({gsx$unique:{$gt:0}})),e.mull.loyal&&(l=l.limit(0),o=o.find({gsx$loyal:{$gt:0}}),c=c.find({gsx$loyal:{$gt:0}}),f=f.limit(0),d=d.limit(0)),e.mull.legendary&&(l=l.find({gsx$legendary:{$gt:0}}),o=o.find({gsx$legendary:{$gt:0}}),c=c.find({gsx$legendary:{$gt:0}}),d=d.find({gsx$legendary:{$gt:0}}),f=f.find({gsx$legendary:{$gt:0}})),e.mull.mixed&&(c=c.find({gsx$loyal:{$lte:0}}),o=o.find({gsx$loyal:{$lte:0}}));const u=[];for(const i in e.sets)e.sets[i]&&u.push({$eq:i.toUpperCase()});if(0===u.length){const i=Object.keys(e.sets);e.sets.proto||0!==e.name.length||i.splice(i.indexOf("proto"));for(const e in i)u.push({$eq:i[e].toUpperCase()})}u.length>0&&(l=l.find({gsx$set:{$or:u}}),o=o.find({gsx$set:{$or:u}}),c=c.find({gsx$set:{$or:u}}),d=d.find({gsx$set:{$or:u}}),f=f.find({gsx$set:{$or:u}}));const w=[];for(const i in e.rarity)e.rarity[i]&&w.push({$eq:i.split(" ").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" ")});if(w.length>0&&(l=l.find({gsx$rarity:{$or:w}}),o=o.find({gsx$rarity:{$or:w}}),c=c.find({gsx$rarity:{$or:w}}),d=d.find({gsx$rarity:{$or:w}}),f=f.find({gsx$rarity:{$or:w}})),e.exclusive.starter){const e=new RegExp("starter","i");l=l.find({gsx$exclusive:{$regex:e}}),o=o.find({gsx$exclusive:{$regex:e}}),c=c.find({gsx$exclusive:{$regex:e}}),d=d.find({gsx$exclusive:{$regex:e}}),f=f.find({gsx$exclusive:{$regex:e}})}if(e.exclusive.printed){const e=new RegExp("online","i");l=l.where((i=>!e.test(i.gsx$exclusive))),o=o.where((i=>!e.test(i.gsx$exclusive))),c=c.where((i=>!e.test(i.gsx$exclusive))),d=d.where((i=>!e.test(i.gsx$exclusive))),f=f.where((i=>!e.test(i.gsx$exclusive)))}if(e.exclusive.online){const e=new RegExp("online","i");l=l.find({gsx$exclusive:{$regex:e}}),o=o.find({gsx$exclusive:{$regex:e}}),c=c.find({gsx$exclusive:{$regex:e}}),d=d.find({gsx$exclusive:{$regex:e}}),f=f.find({gsx$exclusive:{$regex:e}})}const y=!(e.types.attack|e.types.battlegear|e.types.creature|e.types.location|e.types.mugic);if(y||e.types.attack){const e=l.data();e.forEach((e=>{delete e.$loki})),x.insert(e)}if(y||e.types.battlegear){const e=o.data();e.forEach((e=>{delete e.$loki})),x.insert(e)}if(y||e.types.creature){const e=c.data();e.forEach((e=>{delete e.$loki})),x.insert(e)}if(y||e.types.location){const e=d.data();e.forEach((e=>{delete e.$loki})),x.insert(e)}if(y||e.types.mugic){const e=f.data();e.forEach((e=>{delete e.$loki})),x.insert(e)}return a.data()}}}]);