UNPKG

gbf-raidfinder

Version:

JavaScript library for tracking Granblue Fantasy raid tweets from Twitter

53 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var gbf_raidfinder_parser_1 = require("gbf-raidfinder-parser"); var Constants_1 = require("./Constants"); function parseFromFilter(boss) { var name = null; if (typeof boss.name === 'string') { name = boss.name; } else if (typeof boss.name === 'object') { var language = Object.keys(boss.name).pop(); if (language) { name = boss.name[language]; } } if (!name) { throw new TypeError('Can\'t determine the boss name!'); } return gbf_raidfinder_parser_1.BossParser.parse(name); } function parse(boss) { var _a; if (typeof boss === 'object') { if (!boss.level) { try { var parsed = parseFromFilter(boss); boss.level = parsed.level; } catch (e) { boss.levels = boss.levels || Constants_1.ALL_LEVELS; } } if (!boss.levels && boss.level) { boss.levels = [boss.level]; } } else { var parsed = gbf_raidfinder_parser_1.BossParser.parse(boss); if (!parsed.language || !parsed.name) { return null; } boss = { level: parsed.level, levels: [parsed.level], name: (_a = {}, _a[parsed.language] = parsed.name, _a) }; } return boss; } exports.parse = parse; //# sourceMappingURL=BossFilter.js.map