@wise-old-man/utils 1.0.3 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.prettierrc CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "printWidth": 105,
2
+ "printWidth": 110,
3
3
  "singleQuote": true,
4
4
  "trailingComma": "none",
5
5
  "arrowParens": "avoid",
package/dist/metrics.d.ts CHANGED
@@ -20517,5 +20517,20 @@ declare const SKILLS: Skill[];
20517
20517
  declare const BOSSES: Boss[];
20518
20518
  declare const ACTIVITIES: Activity[];
20519
20519
  declare const VIRTUAL_METRICS: VirtualMetric[];
20520
+ declare const METRICS: (Skill | Boss | Activity | VirtualMetric)[];
20521
+ declare const F2P_BOSSES: Boss[];
20522
+ declare const MEMBER_SKILLS: Skill[];
20523
+ declare const COMBAT_SKILLS: Skill[];
20520
20524
  declare function findMetric(metricName: string): Metric | null;
20521
- export { Metric, Metrics, MetricProps, MetricType, MetricMeasure, SKILLS, BOSSES, ACTIVITIES, VIRTUAL_METRICS, findMetric };
20525
+ declare function isSkill(metric: Metric): boolean;
20526
+ declare function isBoss(metric: Metric): boolean;
20527
+ declare function isActivity(metric: Metric): boolean;
20528
+ declare function isVirtualMetric(metric: Metric): boolean;
20529
+ declare function getMetricRankKey(metric: Metric): string;
20530
+ declare function getMetricValueKey(metric: Metric): string;
20531
+ declare function getMetricMeasure(metric: Metric): MetricMeasure;
20532
+ declare function getMetricName(metric: Metric): string;
20533
+ declare function getMinimumBossKc(metric: Metric): number;
20534
+ declare function getParentVirtualMetric(metric: Metric): VirtualMetric | null;
20535
+ declare function parseMetricAbbreviation(abbreviation: string): string | null;
20536
+ export { Metric, Metrics, MetricProps, MetricType, MetricMeasure, SKILLS, BOSSES, ACTIVITIES, VIRTUAL_METRICS, METRICS, F2P_BOSSES, MEMBER_SKILLS, COMBAT_SKILLS, findMetric, parseMetricAbbreviation, getMetricRankKey, getMetricValueKey, getMetricMeasure, getMetricName, getMinimumBossKc, getParentVirtualMetric, isSkill, isBoss, isActivity, isVirtualMetric };
package/dist/metrics.js CHANGED
@@ -10,10 +10,20 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
13
22
  var _a, _b, _c, _d;
14
23
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.findMetric = exports.VIRTUAL_METRICS = exports.ACTIVITIES = exports.BOSSES = exports.SKILLS = exports.MetricMeasure = exports.MetricType = exports.MetricProps = exports.Metrics = void 0;
24
+ exports.isVirtualMetric = exports.isActivity = exports.isBoss = exports.isSkill = exports.getParentVirtualMetric = exports.getMinimumBossKc = exports.getMetricName = exports.getMetricMeasure = exports.getMetricValueKey = exports.getMetricRankKey = exports.parseMetricAbbreviation = exports.findMetric = exports.COMBAT_SKILLS = exports.MEMBER_SKILLS = exports.F2P_BOSSES = exports.METRICS = exports.VIRTUAL_METRICS = exports.ACTIVITIES = exports.BOSSES = exports.SKILLS = exports.MetricMeasure = exports.MetricType = exports.MetricProps = exports.Metrics = void 0;
16
25
  var lodash_1 = require("lodash");
26
+ var strings_1 = require("./strings");
17
27
  var Skill;
18
28
  (function (Skill) {
19
29
  Skill["OVERALL"] = "overall";
@@ -232,6 +242,14 @@ var ACTIVITIES = Object.values(Activity);
232
242
  exports.ACTIVITIES = ACTIVITIES;
233
243
  var VIRTUAL_METRICS = Object.values(VirtualMetric);
234
244
  exports.VIRTUAL_METRICS = VIRTUAL_METRICS;
245
+ var METRICS = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], SKILLS, true), BOSSES, true), ACTIVITIES, true), VIRTUAL_METRICS, true);
246
+ exports.METRICS = METRICS;
247
+ var F2P_BOSSES = BOSSES.filter(function (b) { return !MetricProps[b].isMembers; });
248
+ exports.F2P_BOSSES = F2P_BOSSES;
249
+ var MEMBER_SKILLS = SKILLS.filter(function (s) { return MetricProps[s].isMembers; });
250
+ exports.MEMBER_SKILLS = MEMBER_SKILLS;
251
+ var COMBAT_SKILLS = SKILLS.filter(function (s) { return MetricProps[s].isCombat; });
252
+ exports.COMBAT_SKILLS = COMBAT_SKILLS;
235
253
  function findMetric(metricName) {
236
254
  for (var _i = 0, _a = Object.entries(MetricProps); _i < _a.length; _i++) {
237
255
  var _b = _a[_i], key = _b[0], value = _b[1];
@@ -241,4 +259,277 @@ function findMetric(metricName) {
241
259
  return null;
242
260
  }
243
261
  exports.findMetric = findMetric;
262
+ function isSkill(metric) {
263
+ return metric in Skill;
264
+ }
265
+ exports.isSkill = isSkill;
266
+ function isBoss(metric) {
267
+ return metric in Boss;
268
+ }
269
+ exports.isBoss = isBoss;
270
+ function isActivity(metric) {
271
+ return metric in Activity;
272
+ }
273
+ exports.isActivity = isActivity;
274
+ function isVirtualMetric(metric) {
275
+ return metric in VirtualMetric;
276
+ }
277
+ exports.isVirtualMetric = isVirtualMetric;
278
+ function getMetricRankKey(metric) {
279
+ return "".concat(metric, "Rank");
280
+ }
281
+ exports.getMetricRankKey = getMetricRankKey;
282
+ function getMetricValueKey(metric) {
283
+ return "".concat(metric).concat((0, strings_1.capitalize)(MetricProps[metric].measure));
284
+ }
285
+ exports.getMetricValueKey = getMetricValueKey;
286
+ function getMetricMeasure(metric) {
287
+ return MetricProps[metric].measure;
288
+ }
289
+ exports.getMetricMeasure = getMetricMeasure;
290
+ function getMetricName(metric) {
291
+ return MetricProps[metric].name;
292
+ }
293
+ exports.getMetricName = getMetricName;
294
+ function getMinimumBossKc(metric) {
295
+ return isBoss(metric) ? MetricProps[metric].minimumKc : 0;
296
+ }
297
+ exports.getMinimumBossKc = getMinimumBossKc;
298
+ function getParentVirtualMetric(metric) {
299
+ if (isBoss(metric))
300
+ return Metrics.EHB;
301
+ if (isSkill(metric))
302
+ return Metrics.EHP;
303
+ return null;
304
+ }
305
+ exports.getParentVirtualMetric = getParentVirtualMetric;
306
+ function parseMetricAbbreviation(abbreviation) {
307
+ if (!abbreviation || abbreviation.length === 0) {
308
+ return null;
309
+ }
310
+ switch (abbreviation) {
311
+ // Bosses
312
+ case 'sire':
313
+ return Metrics.ABYSSAL_SIRE;
314
+ case 'hydra':
315
+ return Metrics.ALCHEMICAL_HYDRA;
316
+ case 'barrows':
317
+ return Metrics.BARROWS_CHESTS;
318
+ case 'bryo':
319
+ return Metrics.BRYOPHYTA;
320
+ case 'cerb':
321
+ return Metrics.CERBERUS;
322
+ case 'cox':
323
+ case 'xeric':
324
+ case 'chambers':
325
+ case 'olm':
326
+ case 'raids':
327
+ return Metrics.CHAMBERS_OF_XERIC;
328
+ case 'cox-cm':
329
+ case 'xeric-cm':
330
+ case 'chambers-cm':
331
+ case 'olm-cm':
332
+ case 'raids-cm':
333
+ return Metrics.CHAMBERS_OF_XERIC_CM;
334
+ case 'chaos-ele':
335
+ return Metrics.CHAOS_ELEMENTAL;
336
+ case 'fanatic':
337
+ return Metrics.CHAOS_FANATIC;
338
+ case 'sara':
339
+ case 'saradomin':
340
+ case 'zilyana':
341
+ case 'zily':
342
+ return Metrics.COMMANDER_ZILYANA;
343
+ case 'corp':
344
+ return Metrics.CORPOREAL_BEAST;
345
+ case 'crazy-arch':
346
+ return Metrics.CRAZY_ARCHAEOLOGIST;
347
+ case 'prime':
348
+ return Metrics.DAGANNOTH_PRIME;
349
+ case 'rex':
350
+ return Metrics.DAGANNOTH_REX;
351
+ case 'supreme':
352
+ return Metrics.DAGANNOTH_SUPREME;
353
+ case 'deranged-arch':
354
+ return Metrics.DERANGED_ARCHAEOLOGIST;
355
+ case 'bandos':
356
+ case 'graardor':
357
+ return Metrics.GENERAL_GRAARDOR;
358
+ case 'mole':
359
+ return Metrics.GIANT_MOLE;
360
+ case 'dusk':
361
+ case 'dawn':
362
+ case 'gargs':
363
+ case 'guardians':
364
+ case 'ggs':
365
+ return Metrics.GROTESQUE_GUARDIANS;
366
+ case 'kq':
367
+ return Metrics.KALPHITE_QUEEN;
368
+ case 'kbd':
369
+ return Metrics.KING_BLACK_DRAGON;
370
+ case 'kree':
371
+ case 'kreearra':
372
+ case 'armadyl':
373
+ case 'arma':
374
+ return Metrics.KREEARRA;
375
+ case 'zammy':
376
+ case 'zamorak':
377
+ case 'kril':
378
+ case 'kril-tsutsaroth':
379
+ return Metrics.KRIL_TSUTSAROTH;
380
+ case 'gaunt':
381
+ case 'gauntlet':
382
+ case 'the-gauntlet':
383
+ return Metrics.THE_GAUNTLET;
384
+ case 'cgaunt':
385
+ case 'cgauntlet':
386
+ case 'corrupted':
387
+ case 'corrupted-gauntlet':
388
+ case 'the-corrupted-gauntlet':
389
+ return Metrics.THE_CORRUPTED_GAUNTLET;
390
+ case 'tob':
391
+ case 'theatre':
392
+ case 'verzik':
393
+ case 'tob-normal':
394
+ return Metrics.THEATRE_OF_BLOOD;
395
+ case 'tob-hm':
396
+ case 'tob-cm':
397
+ case 'tob-hard-mode':
398
+ case 'tob-hard':
399
+ return Metrics.THEATRE_OF_BLOOD_HARD_MODE;
400
+ case 'nm':
401
+ case 'tnm':
402
+ case 'nmare':
403
+ case 'the-nightmare':
404
+ return Metrics.NIGHTMARE;
405
+ case 'pnm':
406
+ case 'phosani':
407
+ case 'phosanis':
408
+ case 'phosani-nm':
409
+ case 'phosani-nightmare':
410
+ case 'phosanis nightmare':
411
+ return Metrics.PHOSANIS_NIGHTMARE;
412
+ case 'thermy':
413
+ case 'smoke-devil':
414
+ return Metrics.THERMONUCLEAR_SMOKE_DEVIL;
415
+ case 'zuk':
416
+ case 'inferno':
417
+ return Metrics.TZKAL_ZUK;
418
+ case 'jad':
419
+ case 'fight-caves':
420
+ case 'fc':
421
+ return Metrics.TZTOK_JAD;
422
+ case 'vork':
423
+ case 'vorky':
424
+ return Metrics.VORKATH;
425
+ case 'wt':
426
+ return Metrics.WINTERTODT;
427
+ case 'snek':
428
+ case 'zul':
429
+ return Metrics.ZULRAH;
430
+ // Minigames and others
431
+ case 'all-clues':
432
+ case 'clues':
433
+ return Metrics.CLUE_SCROLLS_ALL;
434
+ case 'beginner':
435
+ case 'beginner-clues':
436
+ case 'beg-clues':
437
+ case 'beginners':
438
+ return Metrics.CLUE_SCROLLS_BEGINNER;
439
+ case 'easy':
440
+ case 'easy-clues':
441
+ case 'easies':
442
+ return Metrics.CLUE_SCROLLS_EASY;
443
+ case 'medium':
444
+ case 'med':
445
+ case 'meds':
446
+ case 'medium-clues':
447
+ case 'med-clues':
448
+ case 'mediums':
449
+ return Metrics.CLUE_SCROLLS_MEDIUM;
450
+ case 'hard':
451
+ case 'hard-clues':
452
+ case 'hards':
453
+ return Metrics.CLUE_SCROLLS_HARD;
454
+ case 'elite':
455
+ case 'elite-clues':
456
+ case 'elites':
457
+ return Metrics.CLUE_SCROLLS_ELITE;
458
+ case 'master':
459
+ case 'master-clues':
460
+ case 'masters':
461
+ return Metrics.CLUE_SCROLLS_MASTER;
462
+ case 'lms':
463
+ return Metrics.LAST_MAN_STANDING;
464
+ case 'league':
465
+ case 'lp':
466
+ case 'lps':
467
+ return Metrics.LEAGUE_POINTS;
468
+ case 'sw':
469
+ case 'zeal':
470
+ case 'soul-wars':
471
+ return Metrics.SOUL_WARS_ZEAL;
472
+ // Skills
473
+ case 'runecraft':
474
+ case 'rc':
475
+ return Metrics.RUNECRAFTING;
476
+ case 'att':
477
+ case 'atk':
478
+ case 'attk':
479
+ return Metrics.ATTACK;
480
+ case 'def':
481
+ case 'defense':
482
+ return Metrics.DEFENCE;
483
+ case 'str':
484
+ return Metrics.STRENGTH;
485
+ case 'hp':
486
+ return Metrics.HITPOINTS;
487
+ case 'range':
488
+ return Metrics.RANGED;
489
+ case 'pray':
490
+ return Metrics.PRAYER;
491
+ case 'mage':
492
+ return Metrics.MAGIC;
493
+ case 'cook':
494
+ return Metrics.COOKING;
495
+ case 'wc':
496
+ return Metrics.WOODCUTTING;
497
+ case 'fletch':
498
+ return Metrics.FLETCHING;
499
+ case 'fish':
500
+ return Metrics.FISHING;
501
+ case 'fm':
502
+ case 'burning':
503
+ return Metrics.FIREMAKING;
504
+ case 'craft':
505
+ return Metrics.CRAFTING;
506
+ case 'sm':
507
+ case 'smith':
508
+ return Metrics.SMITHING;
509
+ case 'mine':
510
+ case 'smash':
511
+ return Metrics.MINING;
512
+ case 'herb':
513
+ return Metrics.HERBLORE;
514
+ case 'agi':
515
+ case 'agil':
516
+ return Metrics.AGILITY;
517
+ case 'thief':
518
+ return Metrics.THIEVING;
519
+ case 'slay':
520
+ return Metrics.SLAYER;
521
+ case 'farm':
522
+ return Metrics.FARMING;
523
+ case 'hunt':
524
+ case 'hunting':
525
+ return Metrics.HUNTER;
526
+ case 'con':
527
+ case 'cons':
528
+ case 'const':
529
+ return Metrics.CONSTRUCTION;
530
+ default:
531
+ return abbreviation;
532
+ }
533
+ }
534
+ exports.parseMetricAbbreviation = parseMetricAbbreviation;
244
535
  //# sourceMappingURL=metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iCAAmC;AAEnC,IAAK,KAyBJ;AAzBD,WAAK,KAAK;IACR,4BAAmB,CAAA;IACnB,0BAAiB,CAAA;IACjB,4BAAmB,CAAA;IACnB,8BAAqB,CAAA;IACrB,gCAAuB,CAAA;IACvB,0BAAiB,CAAA;IACjB,0BAAiB,CAAA;IACjB,wBAAe,CAAA;IACf,4BAAmB,CAAA;IACnB,oCAA2B,CAAA;IAC3B,gCAAuB,CAAA;IACvB,4BAAmB,CAAA;IACnB,kCAAyB,CAAA;IACzB,8BAAqB,CAAA;IACrB,8BAAqB,CAAA;IACrB,0BAAiB,CAAA;IACjB,8BAAqB,CAAA;IACrB,4BAAmB,CAAA;IACnB,8BAAqB,CAAA;IACrB,0BAAiB,CAAA;IACjB,4BAAmB,CAAA;IACnB,sCAA6B,CAAA;IAC7B,0BAAiB,CAAA;IACjB,sCAA6B,CAAA;AAC/B,CAAC,EAzBI,KAAK,KAAL,KAAK,QAyBT;AAED,IAAK,IAgDJ;AAhDD,WAAK,IAAI;IACP,qCAA6B,CAAA;IAC7B,6CAAqC,CAAA;IACrC,yCAAiC,CAAA;IACjC,+BAAuB,CAAA;IACvB,6BAAqB,CAAA;IACrB,6BAAqB,CAAA;IACrB,+CAAuC,CAAA;IACvC,iEAAyD,CAAA;IACzD,2CAAmC,CAAA;IACnC,uCAA+B,CAAA;IAC/B,+CAAuC,CAAA;IACvC,2CAAmC,CAAA;IACnC,mDAA2C,CAAA;IAC3C,2CAAmC,CAAA;IACnC,uCAA+B,CAAA;IAC/B,+CAAuC,CAAA;IACvC,yDAAiD,CAAA;IACjD,6CAAqC,CAAA;IACrC,iCAAyB,CAAA;IACzB,mDAA2C,CAAA;IAC3C,2BAAmB,CAAA;IACnB,yCAAiC,CAAA;IACjC,+CAAuC,CAAA;IACvC,yBAAiB,CAAA;IACjB,6BAAqB,CAAA;IACrB,2CAAmC,CAAA;IACnC,uBAAe,CAAA;IACf,+BAAuB,CAAA;IACvB,iDAAyC,CAAA;IACzC,qBAAa,CAAA;IACb,+BAAuB,CAAA;IACvB,2BAAmB,CAAA;IACnB,2BAAmB,CAAA;IACnB,+BAAuB,CAAA;IACvB,qCAA6B,CAAA;IAC7B,yDAAiD,CAAA;IACjD,6CAAqC,CAAA;IACrC,iEAAyD,CAAA;IACzD,+DAAuD,CAAA;IACvD,+BAAuB,CAAA;IACvB,+BAAuB,CAAA;IACvB,+BAAuB,CAAA;IACvB,yBAAiB,CAAA;IACjB,2BAAmB,CAAA;IACnB,iCAAyB,CAAA;IACzB,2BAAmB,CAAA;IACnB,yBAAiB,CAAA;AACnB,CAAC,EAhDI,IAAI,KAAJ,IAAI,QAgDR;AAED,IAAK,QAaJ;AAbD,WAAK,QAAQ;IACX,2CAA+B,CAAA;IAC/B,yDAA6C,CAAA;IAC7C,uDAA2C,CAAA;IAC3C,iDAAqC,CAAA;IACrC,2DAA+C,CAAA;IAC/C,mDAAuC,CAAA;IACvC,uDAA2C,CAAA;IAC3C,mDAAuC,CAAA;IACvC,qDAAyC,CAAA;IACzC,uDAA2C,CAAA;IAC3C,mDAAuC,CAAA;IACvC,6CAAiC,CAAA;AACnC,CAAC,EAbI,QAAQ,KAAR,QAAQ,QAaZ;AAED,IAAK,aAGJ;AAHD,WAAK,aAAa;IAChB,4BAAW,CAAA;IACX,4BAAW,CAAA;AACb,CAAC,EAHI,aAAa,KAAb,aAAa,QAGjB;AAED,IAAK,UAKJ;AALD,WAAK,UAAU;IACb,6BAAe,CAAA;IACf,2BAAa,CAAA;IACb,mCAAqB,CAAA;IACrB,iCAAmB,CAAA;AACrB,CAAC,EALI,UAAU,KAAV,UAAU,QAKd;AAyJC,gCAAU;AAvJZ,IAAK,aAKJ;AALD,WAAK,aAAa;IAChB,0CAAyB,CAAA;IACzB,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,gCAAe,CAAA;AACjB,CAAC,EALI,aAAa,KAAb,aAAa,QAKjB;AAmJC,sCAAa;AAjJf,IAAM,UAAU,GAAG,IAAA,kBAAS;IAExB,GAAC,KAAK,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;IACvE,GAAC,KAAK,CAAC,MAAM,IAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACpE,GAAC,KAAK,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACtE,GAAC,KAAK,CAAC,QAAQ,IAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACxE,GAAC,KAAK,CAAC,SAAS,IAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IAC1E,GAAC,KAAK,CAAC,MAAM,IAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACpE,GAAC,KAAK,CAAC,MAAM,IAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACpE,GAAC,KAAK,CAAC,KAAK,IAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IAClE,GAAC,KAAK,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;IACvE,GAAC,KAAK,CAAC,WAAW,IAAG,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;IAC/E,GAAC,KAAK,CAAC,SAAS,IAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;IAC1E,GAAC,KAAK,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;IACvE,GAAC,KAAK,CAAC,UAAU,IAAG,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;IAC7E,GAAC,KAAK,CAAC,QAAQ,IAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;IACzE,GAAC,KAAK,CAAC,QAAQ,IAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;IACzE,GAAC,KAAK,CAAC,MAAM,IAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;IACrE,GAAC,KAAK,CAAC,QAAQ,IAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;IACxE,GAAC,KAAK,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;IACtE,GAAC,KAAK,CAAC,QAAQ,IAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;IACxE,GAAC,KAAK,CAAC,MAAM,IAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;IACpE,GAAC,KAAK,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;IACtE,GAAC,KAAK,CAAC,YAAY,IAAG,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;IACjF,GAAC,KAAK,CAAC,MAAM,IAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;IACpE,GAAC,KAAK,CAAC,YAAY,IAAG,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;SAEnF,UAAC,KAAK,EAAE,GAAG,IAAK,OAAA,uBAAM,KAAK,KAAE,GAAG,KAAA,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,UAAU,IAAG,EAA9E,CAA8E,CAC/F,CAAC;AAEF,IAAM,SAAS,GAAG,IAAA,kBAAS;IAEvB,GAAC,IAAI,CAAC,YAAY,IAAG,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC7E,GAAC,IAAI,CAAC,gBAAgB,IAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACrF,GAAC,IAAI,CAAC,cAAc,IAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACjF,GAAC,IAAI,CAAC,SAAS,IAAG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;IACxE,GAAC,IAAI,CAAC,QAAQ,IAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACrE,GAAC,IAAI,CAAC,QAAQ,IAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACrE,GAAC,IAAI,CAAC,iBAAiB,IAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvF,GAAC,IAAI,CAAC,oBAAoB,IAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC/F,GAAC,IAAI,CAAC,eAAe,IAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACnF,GAAC,IAAI,CAAC,aAAa,IAAG,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC/E,GAAC,IAAI,CAAC,iBAAiB,IAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvF,GAAC,IAAI,CAAC,eAAe,IAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACnF,GAAC,IAAI,CAAC,mBAAmB,IAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC3F,GAAC,IAAI,CAAC,eAAe,IAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACnF,GAAC,IAAI,CAAC,aAAa,IAAG,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC/E,GAAC,IAAI,CAAC,iBAAiB,IAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvF,GAAC,IAAI,CAAC,sBAAsB,IAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACjG,GAAC,IAAI,CAAC,gBAAgB,IAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACrF,GAAC,IAAI,CAAC,UAAU,IAAG,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACzE,GAAC,IAAI,CAAC,mBAAmB,IAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC3F,GAAC,IAAI,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACnE,GAAC,IAAI,CAAC,cAAc,IAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACjF,GAAC,IAAI,CAAC,iBAAiB,IAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvF,GAAC,IAAI,CAAC,MAAM,IAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACjE,GAAC,IAAI,CAAC,QAAQ,IAAG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACtE,GAAC,IAAI,CAAC,eAAe,IAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACpF,GAAC,IAAI,CAAC,KAAK,IAAG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;IAC9D,GAAC,IAAI,CAAC,SAAS,IAAG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvE,GAAC,IAAI,CAAC,kBAAkB,IAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC1F,GAAC,IAAI,CAAC,IAAI,IAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;IAC9D,GAAC,IAAI,CAAC,SAAS,IAAG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvE,GAAC,IAAI,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACnE,GAAC,IAAI,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACnE,GAAC,IAAI,CAAC,SAAS,IAAG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvE,GAAC,IAAI,CAAC,YAAY,IAAG,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC7E,GAAC,IAAI,CAAC,sBAAsB,IAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACjG,GAAC,IAAI,CAAC,gBAAgB,IAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACrF,GAAC,IAAI,CAAC,0BAA0B,IAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACpG,GAAC,IAAI,CAAC,yBAAyB,IAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvG,GAAC,IAAI,CAAC,SAAS,IAAG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;IACtE,GAAC,IAAI,CAAC,SAAS,IAAG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvE,GAAC,IAAI,CAAC,SAAS,IAAG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACvE,GAAC,IAAI,CAAC,MAAM,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAClE,GAAC,IAAI,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACnE,GAAC,IAAI,CAAC,UAAU,IAAG,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACzE,GAAC,IAAI,CAAC,OAAO,IAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACnE,GAAC,IAAI,CAAC,MAAM,IAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAEnE,UAAC,KAAK,EAAE,GAAG,IAAK,OAAA,uBAAM,KAAK,KAAE,GAAG,KAAA,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,IAAG,EAAxE,CAAwE,CACzF,CAAC;AAEF,IAAM,aAAa,GAAG,IAAA,kBAAS;IAE3B,GAAC,QAAQ,CAAC,aAAa,IAAG,EAAE,IAAI,EAAE,eAAe,EAAE;IACnD,GAAC,QAAQ,CAAC,oBAAoB,IAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE;IACnE,GAAC,QAAQ,CAAC,mBAAmB,IAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE;IACjE,GAAC,QAAQ,CAAC,gBAAgB,IAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC3D,GAAC,QAAQ,CAAC,qBAAqB,IAAG,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACrE,GAAC,QAAQ,CAAC,iBAAiB,IAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAC7D,GAAC,QAAQ,CAAC,mBAAmB,IAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE;IACjE,GAAC,QAAQ,CAAC,iBAAiB,IAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAC7D,GAAC,QAAQ,CAAC,kBAAkB,IAAG,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAC/D,GAAC,QAAQ,CAAC,mBAAmB,IAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE;IACjE,GAAC,QAAQ,CAAC,iBAAiB,IAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC3D,GAAC,QAAQ,CAAC,cAAc,IAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE;SAEvD,UAAC,KAAK,EAAE,GAAG,IAAK,OAAA,uBAAM,KAAK,KAAE,GAAG,KAAA,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,IAAG,EAA5E,CAA4E,CAC7F,CAAC;AAEF,IAAM,kBAAkB,GAAG,IAAA,kBAAS;IAEhC,GAAC,aAAa,CAAC,GAAG,IAAG,EAAE,IAAI,EAAE,KAAK,EAAE;IACpC,GAAC,aAAa,CAAC,GAAG,IAAG,EAAE,IAAI,EAAE,KAAK,EAAE;SAEtC,UAAC,KAAK,EAAE,GAAG,IAAK,OAAA,uBAAM,KAAK,KAAE,GAAG,KAAA,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,IAAG,EAA3E,CAA2E,CAC5F,CAAC;AAEF,IAAM,OAAO,2CACR,KAAK,GACL,IAAI,GACJ,QAAQ,GACR,aAAa,CACjB,CAAC;AA4BA,0BAAO;AA1BT,IAAM,WAAW,2CACZ,UAAU,GACV,SAAS,GACT,aAAa,GACb,kBAAkB,CACtB,CAAC;AAsBA,kCAAW;AAlBb,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAsBlC,wBAAM;AArBR,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAsBjC,wBAAM;AArBR,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAsBzC,gCAAU;AArBZ,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAsBnD,0CAAe;AApBjB,SAAS,UAAU,CAAC,UAAkB;IACpC,KAAyB,UAA2B,EAA3B,KAAA,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAA3B,cAA2B,EAA3B,IAA2B,EAAE;QAA7C,IAAA,WAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;QAClB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,GAAa,CAAC;KACrD;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAgBC,gCAAU"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
package/dist/periods.d.ts CHANGED
@@ -30,5 +30,8 @@ declare const PeriodProps: {
30
30
  declare const PERIODS: Period[];
31
31
  declare function findPeriod(periodName: string): Period | null;
32
32
  declare function isValidPeriod(period: string): boolean;
33
- declare function parsePeriodExpression(periodExpression: string): [string, number] | null;
33
+ declare function parsePeriodExpression(periodExpression: string): {
34
+ expression: string;
35
+ durationMs: number;
36
+ } | null;
34
37
  export { Period, PeriodProps, PERIODS, findPeriod, isValidPeriod, parsePeriodExpression };
package/dist/periods.js CHANGED
@@ -38,23 +38,29 @@ exports.isValidPeriod = isValidPeriod;
38
38
  function parsePeriodExpression(periodExpression) {
39
39
  var fixed = periodExpression.toLowerCase();
40
40
  if (isValidPeriod(fixed)) {
41
- return [fixed, PeriodProps[fixed].milliseconds];
41
+ return {
42
+ expression: fixed,
43
+ durationMs: PeriodProps[fixed].milliseconds
44
+ };
42
45
  }
43
46
  var result = fixed.match(CUSTOM_PERIOD_REGEX);
44
47
  if (!result || result.length === 0 || result[0] !== fixed)
45
48
  return null;
46
- var years = result[1] ? parseInt(result[1].replace(/\D/g, '')) : null;
47
- var months = result[2] ? parseInt(result[2].replace(/\D/g, '')) : null;
48
- var weeks = result[3] ? parseInt(result[3].replace(/\D/g, '')) : null;
49
- var days = result[4] ? parseInt(result[4].replace(/\D/g, '')) : null;
50
- var hours = result[5] ? parseInt(result[5].replace(/\D/g, '')) : null;
51
- var yearsMs = years ? years * PeriodProps[Period.YEAR].milliseconds : 0;
52
- var monthsMs = months ? months * PeriodProps[Period.MONTH].milliseconds : 0;
53
- var weeksMs = weeks ? weeks * PeriodProps[Period.WEEK].milliseconds : 0;
54
- var daysMs = days ? days * PeriodProps[Period.DAY].milliseconds : 0;
55
- var hoursMs = hours ? hours * (PeriodProps[Period.DAY].milliseconds / 24) : 0;
49
+ var years = result[1] ? parseInt(result[1].replace(/\D/g, '')) : 0;
50
+ var months = result[2] ? parseInt(result[2].replace(/\D/g, '')) : 0;
51
+ var weeks = result[3] ? parseInt(result[3].replace(/\D/g, '')) : 0;
52
+ var days = result[4] ? parseInt(result[4].replace(/\D/g, '')) : 0;
53
+ var hours = result[5] ? parseInt(result[5].replace(/\D/g, '')) : 0;
54
+ var yearsMs = years * PeriodProps[Period.YEAR].milliseconds;
55
+ var monthsMs = months * PeriodProps[Period.MONTH].milliseconds;
56
+ var weeksMs = weeks * PeriodProps[Period.WEEK].milliseconds;
57
+ var daysMs = days * PeriodProps[Period.DAY].milliseconds;
58
+ var hoursMs = hours * (PeriodProps[Period.DAY].milliseconds / 24);
56
59
  var totalMs = yearsMs + monthsMs + weeksMs + daysMs + hoursMs;
57
- return [result[0], totalMs];
60
+ return {
61
+ expression: result[0],
62
+ durationMs: totalMs
63
+ };
58
64
  }
59
65
  exports.parsePeriodExpression = parsePeriodExpression;
60
66
  //# sourceMappingURL=periods.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"periods.js","sourceRoot":"","sources":["../src/periods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"periods.js","sourceRoot":"","sources":["../src/periods.ts"],"names":[],"mappings":"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"}
package/dist/players.d.ts CHANGED
@@ -2,8 +2,8 @@ declare enum PlayerType {
2
2
  UNKNOWN = "unknown",
3
3
  REGULAR = "regular",
4
4
  IRONMAN = "ironman",
5
- ULTIMATE = "ultimate",
6
- HARDCORE = "hardcore"
5
+ HARDCORE = "hardcore",
6
+ ULTIMATE = "ultimate"
7
7
  }
8
8
  declare enum PlayerBuild {
9
9
  MAIN = "main",
@@ -23,10 +23,10 @@ declare const PlayerTypeProps: {
23
23
  ironman: {
24
24
  name: string;
25
25
  };
26
- ultimate: {
26
+ hardcore: {
27
27
  name: string;
28
28
  };
29
- hardcore: {
29
+ ultimate: {
30
30
  name: string;
31
31
  };
32
32
  };
package/dist/players.js CHANGED
@@ -7,8 +7,8 @@ var PlayerType;
7
7
  PlayerType["UNKNOWN"] = "unknown";
8
8
  PlayerType["REGULAR"] = "regular";
9
9
  PlayerType["IRONMAN"] = "ironman";
10
- PlayerType["ULTIMATE"] = "ultimate";
11
10
  PlayerType["HARDCORE"] = "hardcore";
11
+ PlayerType["ULTIMATE"] = "ultimate";
12
12
  })(PlayerType || (PlayerType = {}));
13
13
  exports.PlayerType = PlayerType;
14
14
  var PlayerBuild;
@@ -25,8 +25,8 @@ var PlayerTypeProps = (_a = {},
25
25
  _a[PlayerType.UNKNOWN] = { name: 'Unknown' },
26
26
  _a[PlayerType.REGULAR] = { name: 'Regular' },
27
27
  _a[PlayerType.IRONMAN] = { name: 'Ironman' },
28
- _a[PlayerType.ULTIMATE] = { name: 'Ultimate' },
29
28
  _a[PlayerType.HARDCORE] = { name: 'Hardcore' },
29
+ _a[PlayerType.ULTIMATE] = { name: 'Ultimate' },
30
30
  _a);
31
31
  exports.PlayerTypeProps = PlayerTypeProps;
32
32
  var PlayerBuildProps = (_b = {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise-old-man/utils",
3
- "version": "1.0.3",
3
+ "version": "1.0.8",
4
4
  "description": "A few constants and helper functions to be re-used in all repositories under the WiseOldMan project.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/metrics.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { mapValues } from 'lodash';
2
+ import { capitalize } from './strings';
2
3
 
3
4
  enum Skill {
4
5
  OVERALL = 'overall',
@@ -241,6 +242,12 @@ const BOSSES = Object.values(Boss);
241
242
  const ACTIVITIES = Object.values(Activity);
242
243
  const VIRTUAL_METRICS = Object.values(VirtualMetric);
243
244
 
245
+ const METRICS = [...SKILLS, ...BOSSES, ...ACTIVITIES, ...VIRTUAL_METRICS];
246
+
247
+ const F2P_BOSSES = BOSSES.filter(b => !MetricProps[b].isMembers);
248
+ const MEMBER_SKILLS = SKILLS.filter(s => MetricProps[s].isMembers);
249
+ const COMBAT_SKILLS = SKILLS.filter(s => MetricProps[s].isCombat);
250
+
244
251
  function findMetric(metricName: string): Metric | null {
245
252
  for (var [key, value] of Object.entries(MetricProps)) {
246
253
  if (value.name === metricName) return key as Metric;
@@ -249,6 +256,346 @@ function findMetric(metricName: string): Metric | null {
249
256
  return null;
250
257
  }
251
258
 
259
+ function isSkill(metric: Metric) {
260
+ return metric in Skill;
261
+ }
262
+
263
+ function isBoss(metric: Metric) {
264
+ return metric in Boss;
265
+ }
266
+
267
+ function isActivity(metric: Metric) {
268
+ return metric in Activity;
269
+ }
270
+
271
+ function isVirtualMetric(metric: Metric) {
272
+ return metric in VirtualMetric;
273
+ }
274
+
275
+ function getMetricRankKey(metric: Metric) {
276
+ return `${metric}Rank`;
277
+ }
278
+
279
+ function getMetricValueKey(metric: Metric) {
280
+ return `${metric}${capitalize(MetricProps[metric].measure)}`;
281
+ }
282
+
283
+ function getMetricMeasure(metric: Metric) {
284
+ return MetricProps[metric].measure;
285
+ }
286
+
287
+ function getMetricName(metric: Metric) {
288
+ return MetricProps[metric].name;
289
+ }
290
+
291
+ function getMinimumBossKc(metric: Metric) {
292
+ return isBoss(metric) ? MetricProps[metric as Boss].minimumKc : 0;
293
+ }
294
+
295
+ function getParentVirtualMetric(metric: Metric) {
296
+ if (isBoss(metric)) return Metrics.EHB;
297
+ if (isSkill(metric)) return Metrics.EHP;
298
+ return null;
299
+ }
300
+
301
+ function parseMetricAbbreviation(abbreviation: string): string | null {
302
+ if (!abbreviation || abbreviation.length === 0) {
303
+ return null;
304
+ }
305
+
306
+ switch (abbreviation) {
307
+ // Bosses
308
+ case 'sire':
309
+ return Metrics.ABYSSAL_SIRE;
310
+
311
+ case 'hydra':
312
+ return Metrics.ALCHEMICAL_HYDRA;
313
+
314
+ case 'barrows':
315
+ return Metrics.BARROWS_CHESTS;
316
+
317
+ case 'bryo':
318
+ return Metrics.BRYOPHYTA;
319
+
320
+ case 'cerb':
321
+ return Metrics.CERBERUS;
322
+
323
+ case 'cox':
324
+ case 'xeric':
325
+ case 'chambers':
326
+ case 'olm':
327
+ case 'raids':
328
+ return Metrics.CHAMBERS_OF_XERIC;
329
+
330
+ case 'cox-cm':
331
+ case 'xeric-cm':
332
+ case 'chambers-cm':
333
+ case 'olm-cm':
334
+ case 'raids-cm':
335
+ return Metrics.CHAMBERS_OF_XERIC_CM;
336
+
337
+ case 'chaos-ele':
338
+ return Metrics.CHAOS_ELEMENTAL;
339
+
340
+ case 'fanatic':
341
+ return Metrics.CHAOS_FANATIC;
342
+
343
+ case 'sara':
344
+ case 'saradomin':
345
+ case 'zilyana':
346
+ case 'zily':
347
+ return Metrics.COMMANDER_ZILYANA;
348
+
349
+ case 'corp':
350
+ return Metrics.CORPOREAL_BEAST;
351
+
352
+ case 'crazy-arch':
353
+ return Metrics.CRAZY_ARCHAEOLOGIST;
354
+
355
+ case 'prime':
356
+ return Metrics.DAGANNOTH_PRIME;
357
+ case 'rex':
358
+ return Metrics.DAGANNOTH_REX;
359
+ case 'supreme':
360
+ return Metrics.DAGANNOTH_SUPREME;
361
+
362
+ case 'deranged-arch':
363
+ return Metrics.DERANGED_ARCHAEOLOGIST;
364
+
365
+ case 'bandos':
366
+ case 'graardor':
367
+ return Metrics.GENERAL_GRAARDOR;
368
+
369
+ case 'mole':
370
+ return Metrics.GIANT_MOLE;
371
+
372
+ case 'dusk':
373
+ case 'dawn':
374
+ case 'gargs':
375
+ case 'guardians':
376
+ case 'ggs':
377
+ return Metrics.GROTESQUE_GUARDIANS;
378
+
379
+ case 'kq':
380
+ return Metrics.KALPHITE_QUEEN;
381
+
382
+ case 'kbd':
383
+ return Metrics.KING_BLACK_DRAGON;
384
+
385
+ case 'kree':
386
+ case 'kreearra':
387
+ case 'armadyl':
388
+ case 'arma':
389
+ return Metrics.KREEARRA;
390
+
391
+ case 'zammy':
392
+ case 'zamorak':
393
+ case 'kril':
394
+ case 'kril-tsutsaroth':
395
+ return Metrics.KRIL_TSUTSAROTH;
396
+
397
+ case 'gaunt':
398
+ case 'gauntlet':
399
+ case 'the-gauntlet':
400
+ return Metrics.THE_GAUNTLET;
401
+
402
+ case 'cgaunt':
403
+ case 'cgauntlet':
404
+ case 'corrupted':
405
+ case 'corrupted-gauntlet':
406
+ case 'the-corrupted-gauntlet':
407
+ return Metrics.THE_CORRUPTED_GAUNTLET;
408
+
409
+ case 'tob':
410
+ case 'theatre':
411
+ case 'verzik':
412
+ case 'tob-normal':
413
+ return Metrics.THEATRE_OF_BLOOD;
414
+
415
+ case 'tob-hm':
416
+ case 'tob-cm':
417
+ case 'tob-hard-mode':
418
+ case 'tob-hard':
419
+ return Metrics.THEATRE_OF_BLOOD_HARD_MODE;
420
+
421
+ case 'nm':
422
+ case 'tnm':
423
+ case 'nmare':
424
+ case 'the-nightmare':
425
+ return Metrics.NIGHTMARE;
426
+
427
+ case 'pnm':
428
+ case 'phosani':
429
+ case 'phosanis':
430
+ case 'phosani-nm':
431
+ case 'phosani-nightmare':
432
+ case 'phosanis nightmare':
433
+ return Metrics.PHOSANIS_NIGHTMARE;
434
+
435
+ case 'thermy':
436
+ case 'smoke-devil':
437
+ return Metrics.THERMONUCLEAR_SMOKE_DEVIL;
438
+
439
+ case 'zuk':
440
+ case 'inferno':
441
+ return Metrics.TZKAL_ZUK;
442
+
443
+ case 'jad':
444
+ case 'fight-caves':
445
+ case 'fc':
446
+ return Metrics.TZTOK_JAD;
447
+
448
+ case 'vork':
449
+ case 'vorky':
450
+ return Metrics.VORKATH;
451
+
452
+ case 'wt':
453
+ return Metrics.WINTERTODT;
454
+
455
+ case 'snek':
456
+ case 'zul':
457
+ return Metrics.ZULRAH;
458
+
459
+ // Minigames and others
460
+
461
+ case 'all-clues':
462
+ case 'clues':
463
+ return Metrics.CLUE_SCROLLS_ALL;
464
+
465
+ case 'beginner':
466
+ case 'beginner-clues':
467
+ case 'beg-clues':
468
+ case 'beginners':
469
+ return Metrics.CLUE_SCROLLS_BEGINNER;
470
+
471
+ case 'easy':
472
+ case 'easy-clues':
473
+ case 'easies':
474
+ return Metrics.CLUE_SCROLLS_EASY;
475
+
476
+ case 'medium':
477
+ case 'med':
478
+ case 'meds':
479
+ case 'medium-clues':
480
+ case 'med-clues':
481
+ case 'mediums':
482
+ return Metrics.CLUE_SCROLLS_MEDIUM;
483
+
484
+ case 'hard':
485
+ case 'hard-clues':
486
+ case 'hards':
487
+ return Metrics.CLUE_SCROLLS_HARD;
488
+
489
+ case 'elite':
490
+ case 'elite-clues':
491
+ case 'elites':
492
+ return Metrics.CLUE_SCROLLS_ELITE;
493
+
494
+ case 'master':
495
+ case 'master-clues':
496
+ case 'masters':
497
+ return Metrics.CLUE_SCROLLS_MASTER;
498
+
499
+ case 'lms':
500
+ return Metrics.LAST_MAN_STANDING;
501
+
502
+ case 'league':
503
+ case 'lp':
504
+ case 'lps':
505
+ return Metrics.LEAGUE_POINTS;
506
+
507
+ case 'sw':
508
+ case 'zeal':
509
+ case 'soul-wars':
510
+ return Metrics.SOUL_WARS_ZEAL;
511
+
512
+ // Skills
513
+
514
+ case 'runecraft':
515
+ case 'rc':
516
+ return Metrics.RUNECRAFTING;
517
+
518
+ case 'att':
519
+ case 'atk':
520
+ case 'attk':
521
+ return Metrics.ATTACK;
522
+
523
+ case 'def':
524
+ case 'defense':
525
+ return Metrics.DEFENCE;
526
+
527
+ case 'str':
528
+ return Metrics.STRENGTH;
529
+
530
+ case 'hp':
531
+ return Metrics.HITPOINTS;
532
+
533
+ case 'range':
534
+ return Metrics.RANGED;
535
+
536
+ case 'pray':
537
+ return Metrics.PRAYER;
538
+
539
+ case 'mage':
540
+ return Metrics.MAGIC;
541
+
542
+ case 'cook':
543
+ return Metrics.COOKING;
544
+
545
+ case 'wc':
546
+ return Metrics.WOODCUTTING;
547
+
548
+ case 'fletch':
549
+ return Metrics.FLETCHING;
550
+
551
+ case 'fish':
552
+ return Metrics.FISHING;
553
+
554
+ case 'fm':
555
+ case 'burning':
556
+ return Metrics.FIREMAKING;
557
+
558
+ case 'craft':
559
+ return Metrics.CRAFTING;
560
+
561
+ case 'sm':
562
+ case 'smith':
563
+ return Metrics.SMITHING;
564
+
565
+ case 'mine':
566
+ case 'smash':
567
+ return Metrics.MINING;
568
+
569
+ case 'herb':
570
+ return Metrics.HERBLORE;
571
+
572
+ case 'agi':
573
+ case 'agil':
574
+ return Metrics.AGILITY;
575
+
576
+ case 'thief':
577
+ return Metrics.THIEVING;
578
+
579
+ case 'slay':
580
+ return Metrics.SLAYER;
581
+
582
+ case 'farm':
583
+ return Metrics.FARMING;
584
+
585
+ case 'hunt':
586
+ case 'hunting':
587
+ return Metrics.HUNTER;
588
+
589
+ case 'con':
590
+ case 'cons':
591
+ case 'const':
592
+ return Metrics.CONSTRUCTION;
593
+
594
+ default:
595
+ return abbreviation;
596
+ }
597
+ }
598
+
252
599
  export {
253
600
  // Types
254
601
  Metric,
@@ -262,6 +609,21 @@ export {
262
609
  BOSSES,
263
610
  ACTIVITIES,
264
611
  VIRTUAL_METRICS,
612
+ METRICS,
613
+ F2P_BOSSES,
614
+ MEMBER_SKILLS,
615
+ COMBAT_SKILLS,
265
616
  // Functions
266
- findMetric
617
+ findMetric,
618
+ parseMetricAbbreviation,
619
+ getMetricRankKey,
620
+ getMetricValueKey,
621
+ getMetricMeasure,
622
+ getMetricName,
623
+ getMinimumBossKc,
624
+ getParentVirtualMetric,
625
+ isSkill,
626
+ isBoss,
627
+ isActivity,
628
+ isVirtualMetric
267
629
  };
package/src/periods.ts CHANGED
@@ -30,32 +30,38 @@ function isValidPeriod(period: string): boolean {
30
30
  return PERIODS.includes(period as Period);
31
31
  }
32
32
 
33
- function parsePeriodExpression(periodExpression: string): [string, number] | null {
33
+ function parsePeriodExpression(periodExpression: string) {
34
34
  const fixed = periodExpression.toLowerCase();
35
35
 
36
36
  if (isValidPeriod(fixed)) {
37
- return [fixed, PeriodProps[fixed].milliseconds];
37
+ return {
38
+ expression: fixed,
39
+ durationMs: PeriodProps[fixed as Period].milliseconds
40
+ };
38
41
  }
39
42
 
40
43
  const result = fixed.match(CUSTOM_PERIOD_REGEX);
41
44
 
42
45
  if (!result || result.length === 0 || result[0] !== fixed) return null;
43
46
 
44
- const years = result[1] ? parseInt(result[1].replace(/\D/g, '')) : null;
45
- const months = result[2] ? parseInt(result[2].replace(/\D/g, '')) : null;
46
- const weeks = result[3] ? parseInt(result[3].replace(/\D/g, '')) : null;
47
- const days = result[4] ? parseInt(result[4].replace(/\D/g, '')) : null;
48
- const hours = result[5] ? parseInt(result[5].replace(/\D/g, '')) : null;
47
+ const years = result[1] ? parseInt(result[1].replace(/\D/g, '')) : 0;
48
+ const months = result[2] ? parseInt(result[2].replace(/\D/g, '')) : 0;
49
+ const weeks = result[3] ? parseInt(result[3].replace(/\D/g, '')) : 0;
50
+ const days = result[4] ? parseInt(result[4].replace(/\D/g, '')) : 0;
51
+ const hours = result[5] ? parseInt(result[5].replace(/\D/g, '')) : 0;
49
52
 
50
- const yearsMs = years ? years * PeriodProps[Period.YEAR].milliseconds : 0;
51
- const monthsMs = months ? months * PeriodProps[Period.MONTH].milliseconds : 0;
52
- const weeksMs = weeks ? weeks * PeriodProps[Period.WEEK].milliseconds : 0;
53
- const daysMs = days ? days * PeriodProps[Period.DAY].milliseconds : 0;
54
- const hoursMs = hours ? hours * (PeriodProps[Period.DAY].milliseconds / 24) : 0;
53
+ const yearsMs = years * PeriodProps[Period.YEAR].milliseconds;
54
+ const monthsMs = months * PeriodProps[Period.MONTH].milliseconds;
55
+ const weeksMs = weeks * PeriodProps[Period.WEEK].milliseconds;
56
+ const daysMs = days * PeriodProps[Period.DAY].milliseconds;
57
+ const hoursMs = hours * (PeriodProps[Period.DAY].milliseconds / 24);
55
58
 
56
59
  const totalMs = yearsMs + monthsMs + weeksMs + daysMs + hoursMs;
57
60
 
58
- return [result[0], totalMs];
61
+ return {
62
+ expression: result[0],
63
+ durationMs: totalMs
64
+ };
59
65
  }
60
66
 
61
67
  export { Period, PeriodProps, PERIODS, findPeriod, isValidPeriod, parsePeriodExpression };
package/src/players.ts CHANGED
@@ -2,8 +2,8 @@ enum PlayerType {
2
2
  UNKNOWN = 'unknown',
3
3
  REGULAR = 'regular',
4
4
  IRONMAN = 'ironman',
5
- ULTIMATE = 'ultimate',
6
- HARDCORE = 'hardcore'
5
+ HARDCORE = 'hardcore',
6
+ ULTIMATE = 'ultimate'
7
7
  }
8
8
 
9
9
  enum PlayerBuild {
@@ -19,8 +19,8 @@ const PlayerTypeProps = {
19
19
  [PlayerType.UNKNOWN]: { name: 'Unknown' },
20
20
  [PlayerType.REGULAR]: { name: 'Regular' },
21
21
  [PlayerType.IRONMAN]: { name: 'Ironman' },
22
- [PlayerType.ULTIMATE]: { name: 'Ultimate' },
23
- [PlayerType.HARDCORE]: { name: 'Hardcore' }
22
+ [PlayerType.HARDCORE]: { name: 'Hardcore' },
23
+ [PlayerType.ULTIMATE]: { name: 'Ultimate' }
24
24
  };
25
25
 
26
26
  const PlayerBuildProps = {