UNPKG

@kitten-science/kitten-scientists

Version:

Add-on for the wonderful incremental browser game: https://kittensgame.com/web/

100 lines 3.24 kB
import { isNil } from "@oliversalzburg/js-utils/data/nil.js"; import { consumeEntriesPedantic } from "../tools/Entries.js"; import { Setting } from "./Settings.js"; export var LogFilterItemVariant; (function (LogFilterItemVariant) { LogFilterItemVariant["accelerate"] = "ks-activity type_ks-accelerate"; LogFilterItemVariant["adore"] = "ks-activity type_ks-adore"; LogFilterItemVariant["build"] = "ks-activity type_ks-build"; LogFilterItemVariant["craft"] = "ks-activity type_ks-craft"; LogFilterItemVariant["distribute"] = "ks-activity type_ks-distribute"; LogFilterItemVariant["faith"] = "ks-activity type_ks-faith"; LogFilterItemVariant["festival"] = "ks-activity type_ks-festival"; LogFilterItemVariant["hunt"] = "ks-activity type_ks-hunt"; LogFilterItemVariant["misc"] = "ks-activity"; LogFilterItemVariant["praise"] = "ks-activity type_ks-praise"; LogFilterItemVariant["promote"] = "ks-activity type_ks-promote"; LogFilterItemVariant["research"] = "ks-activity type_ks-research"; LogFilterItemVariant["star"] = "ks-activity type_ks-star"; LogFilterItemVariant["timeSkip"] = "ks-activity type_ks-timeSkip"; LogFilterItemVariant["trade"] = "ks-activity type_ks-trade"; LogFilterItemVariant["transcend"] = "ks-activity type_ks-transcend"; LogFilterItemVariant["upgrade"] = "ks-activity type_ks-upgrade"; })(LogFilterItemVariant || (LogFilterItemVariant = {})); export const FilterItems = [ "accelerate", "adore", "build", "craft", "distribute", "faith", "festival", "hunt", "misc", "praise", "promote", "research", "star", "timeSkip", "trade", "transcend", "upgrade", ]; export const FilterItemsGame = [ "alicornCorruption", "alicornRift", "alicornSacrifice", "astronomicalEvent", "blackcoin", "craft", "elders", "faith", "festival", "hunt", "ivoryMeteor", "meteor", "tcRefine", "tcShatter", "trade", "unicornRift", "unicornSacrifice", "workshopAutomation", ]; export class LogFilterSettingsItem extends Setting { #variant; get variant() { return this.#variant; } constructor(variant) { super(true); this.#variant = variant; } } export class LogFilterSettings extends Setting { filters; filtersGame; constructor(enabled = false) { super(enabled); this.filters = {}; for (const item of FilterItems) { this.filters[item] = new LogFilterSettingsItem(LogFilterItemVariant[item]); } this.filtersGame = {}; for (const item of FilterItemsGame) { this.filtersGame[item] = new LogFilterSettingsItem(null); } } load(settings) { if (isNil(settings)) { return; } super.load(settings); consumeEntriesPedantic(this.filters, settings.filters, (filter, item) => { filter.enabled = item?.enabled ?? filter.enabled; }); consumeEntriesPedantic(this.filtersGame, settings.filtersGame, (filter, item) => { filter.enabled = item?.enabled ?? filter.enabled; }); } } //# sourceMappingURL=LogFilterSettings.js.map