coh-content-db 2.0.0-rc.7 → 2.0.0-rc.9

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.
@@ -99,19 +99,19 @@ function compareSex(a, b) {
99
99
  }
100
100
 
101
101
  var __defProp$a = Object.defineProperty;
102
- var __typeError$6 = (msg) => {
102
+ var __typeError$7 = (msg) => {
103
103
  throw TypeError(msg);
104
104
  };
105
105
  var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
106
106
  var __publicField$a = (obj, key, value) => __defNormalProp$a(obj, typeof key !== "symbol" ? key + "" : key, value);
107
- var __accessCheck$6 = (obj, member, msg) => member.has(obj) || __typeError$6("Cannot " + msg);
108
- var __privateGet$6 = (obj, member, getter) => (__accessCheck$6(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
109
- var __privateAdd$6 = (obj, member, value) => member.has(obj) ? __typeError$6("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
110
- var __privateSet$5 = (obj, member, value, setter) => (__accessCheck$6(obj, member, "write to private field"), member.set(obj, value), value);
107
+ var __accessCheck$7 = (obj, member, msg) => member.has(obj) || __typeError$7("Cannot " + msg);
108
+ var __privateGet$6 = (obj, member, getter) => (__accessCheck$7(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
109
+ var __privateAdd$7 = (obj, member, value) => member.has(obj) ? __typeError$7("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
110
+ var __privateSet$5 = (obj, member, value, setter) => (__accessCheck$7(obj, member, "write to private field"), member.set(obj, value), value);
111
111
  var _items$1;
112
112
  class AlignmentList {
113
113
  constructor(items) {
114
- __privateAdd$6(this, _items$1);
114
+ __privateAdd$7(this, _items$1);
115
115
  __publicField$a(this, "hero");
116
116
  __publicField$a(this, "villain");
117
117
  __publicField$a(this, "praetorian");
@@ -156,14 +156,14 @@ class AlignmentList {
156
156
  }
157
157
  _items$1 = new WeakMap();
158
158
 
159
- var __typeError$5 = (msg) => {
159
+ var __typeError$6 = (msg) => {
160
160
  throw TypeError(msg);
161
161
  };
162
- var __accessCheck$5 = (obj, member, msg) => member.has(obj) || __typeError$5("Cannot " + msg);
163
- var __privateGet$5 = (obj, member, getter) => (__accessCheck$5(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
164
- var __privateAdd$5 = (obj, member, value) => member.has(obj) ? __typeError$5("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
165
- var __privateSet$4 = (obj, member, value, setter) => (__accessCheck$5(obj, member, "write to private field"), member.set(obj, value), value);
166
- var __privateMethod$2 = (obj, member, method) => (__accessCheck$5(obj, member, "access private method"), method);
162
+ var __accessCheck$6 = (obj, member, msg) => member.has(obj) || __typeError$6("Cannot " + msg);
163
+ var __privateGet$5 = (obj, member, getter) => (__accessCheck$6(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
164
+ var __privateAdd$6 = (obj, member, value) => member.has(obj) ? __typeError$6("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
165
+ var __privateSet$4 = (obj, member, value, setter) => (__accessCheck$6(obj, member, "write to private field"), member.set(obj, value), value);
166
+ var __privateMethod$2 = (obj, member, method) => (__accessCheck$6(obj, member, "access private method"), method);
167
167
  var _sortedValues, _Alternates_instances, compareAlternates_fn;
168
168
  class Alternates {
169
169
  /**
@@ -171,8 +171,8 @@ class Alternates {
171
171
  * @param value List of alternates, or a single value.
172
172
  */
173
173
  constructor(value) {
174
- __privateAdd$5(this, _Alternates_instances);
175
- __privateAdd$5(this, _sortedValues, []);
174
+ __privateAdd$6(this, _Alternates_instances);
175
+ __privateAdd$6(this, _sortedValues, []);
176
176
  if (Array.isArray(value)) {
177
177
  __privateSet$4(this, _sortedValues, value.sort());
178
178
  __privateGet$5(this, _sortedValues).sort((a, b) => __privateMethod$2(this, _Alternates_instances, compareAlternates_fn).call(this, a, b));
@@ -220,20 +220,20 @@ compareAlternates_fn = function(a, b) {
220
220
  return String(a.value).localeCompare(String(b.value));
221
221
  };
222
222
 
223
- var __typeError$4 = (msg) => {
223
+ var __typeError$5 = (msg) => {
224
224
  throw TypeError(msg);
225
225
  };
226
- var __accessCheck$4 = (obj, member, msg) => member.has(obj) || __typeError$4("Cannot " + msg);
227
- var __privateGet$4 = (obj, member, getter) => (__accessCheck$4(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
228
- var __privateAdd$4 = (obj, member, value) => member.has(obj) ? __typeError$4("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
229
- var __privateSet$3 = (obj, member, value, setter) => (__accessCheck$4(obj, member, "write to private field"), member.set(obj, value), value);
230
- var __privateMethod$1 = (obj, member, method) => (__accessCheck$4(obj, member, "access private method"), method);
226
+ var __accessCheck$5 = (obj, member, msg) => member.has(obj) || __typeError$5("Cannot " + msg);
227
+ var __privateGet$4 = (obj, member, getter) => (__accessCheck$5(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
228
+ var __privateAdd$5 = (obj, member, value) => member.has(obj) ? __typeError$5("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
229
+ var __privateSet$3 = (obj, member, value, setter) => (__accessCheck$5(obj, member, "write to private field"), member.set(obj, value), value);
230
+ var __privateMethod$1 = (obj, member, method) => (__accessCheck$5(obj, member, "access private method"), method);
231
231
  var _value, _Key_instances, validateKey_fn;
232
232
  const INVALID_KEY_PATTERN = /[^a-z0-9-]/;
233
233
  class Key {
234
234
  constructor(value) {
235
- __privateAdd$4(this, _Key_instances);
236
- __privateAdd$4(this, _value);
235
+ __privateAdd$5(this, _Key_instances);
236
+ __privateAdd$5(this, _value);
237
237
  __privateMethod$1(this, _Key_instances, validateKey_fn).call(this, value);
238
238
  __privateSet$3(this, _value, value);
239
239
  }
@@ -364,19 +364,19 @@ class BadgeRequirement {
364
364
  }
365
365
 
366
366
  var __defProp$7 = Object.defineProperty;
367
- var __typeError$3 = (msg) => {
367
+ var __typeError$4 = (msg) => {
368
368
  throw TypeError(msg);
369
369
  };
370
370
  var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
371
371
  var __publicField$7 = (obj, key, value) => __defNormalProp$7(obj, typeof key !== "symbol" ? key + "" : key, value);
372
- var __accessCheck$3 = (obj, member, msg) => member.has(obj) || __typeError$3("Cannot " + msg);
373
- var __privateGet$3 = (obj, member, getter) => (__accessCheck$3(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
374
- var __privateAdd$3 = (obj, member, value) => member.has(obj) ? __typeError$3("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
375
- var __privateSet$2 = (obj, member, value, setter) => (__accessCheck$3(obj, member, "write to private field"), member.set(obj, value), value);
372
+ var __accessCheck$4 = (obj, member, msg) => member.has(obj) || __typeError$4("Cannot " + msg);
373
+ var __privateGet$3 = (obj, member, getter) => (__accessCheck$4(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
374
+ var __privateAdd$4 = (obj, member, value) => member.has(obj) ? __typeError$4("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
375
+ var __privateSet$2 = (obj, member, value, setter) => (__accessCheck$4(obj, member, "write to private field"), member.set(obj, value), value);
376
376
  var _items;
377
377
  class MoralityList {
378
378
  constructor(items) {
379
- __privateAdd$3(this, _items);
379
+ __privateAdd$4(this, _items);
380
380
  __publicField$7(this, "hero");
381
381
  __publicField$7(this, "vigilante");
382
382
  __publicField$7(this, "villain");
@@ -465,19 +465,19 @@ class MoralityList {
465
465
  _items = new WeakMap();
466
466
 
467
467
  var __defProp$6 = Object.defineProperty;
468
- var __typeError$2 = (msg) => {
468
+ var __typeError$3 = (msg) => {
469
469
  throw TypeError(msg);
470
470
  };
471
471
  var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
472
472
  var __publicField$6 = (obj, key, value) => __defNormalProp$6(obj, typeof key !== "symbol" ? key + "" : key, value);
473
- var __accessCheck$2 = (obj, member, msg) => member.has(obj) || __typeError$2("Cannot " + msg);
474
- var __privateGet$2 = (obj, member, getter) => (__accessCheck$2(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
475
- var __privateAdd$2 = (obj, member, value) => member.has(obj) ? __typeError$2("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
473
+ var __accessCheck$3 = (obj, member, msg) => member.has(obj) || __typeError$3("Cannot " + msg);
474
+ var __privateGet$2 = (obj, member, getter) => (__accessCheck$3(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
475
+ var __privateAdd$3 = (obj, member, value) => member.has(obj) ? __typeError$3("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
476
476
  var _requirementsIndex, _zoneKeys;
477
477
  class Badge {
478
478
  constructor(badgeData) {
479
- __privateAdd$2(this, _requirementsIndex, {});
480
- __privateAdd$2(this, _zoneKeys, /* @__PURE__ */ new Set());
479
+ __privateAdd$3(this, _requirementsIndex, {});
480
+ __privateAdd$3(this, _zoneKeys, /* @__PURE__ */ new Set());
481
481
  /**
482
482
  * The database key for this badge.
483
483
  */
@@ -594,32 +594,68 @@ function compareByZoneKey(a, b) {
594
594
  return aZone.localeCompare(bZone);
595
595
  }
596
596
 
597
+ var __defProp$5 = Object.defineProperty;
598
+ var __typeError$2 = (msg) => {
599
+ throw TypeError(msg);
600
+ };
601
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
602
+ var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value);
603
+ var __accessCheck$2 = (obj, member, msg) => member.has(obj) || __typeError$2("Cannot " + msg);
604
+ var __privateGet$1 = (obj, member, getter) => (__accessCheck$2(obj, member, "read from private field"), member.get(obj));
605
+ var __privateAdd$2 = (obj, member, value) => member.has(obj) ? __typeError$2("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
606
+ var __privateSet$1 = (obj, member, value, setter) => (__accessCheck$2(obj, member, "write to private field"), member.set(obj, value), value);
607
+ var _keyField;
608
+ class AbstractIndex {
609
+ constructor(keyField) {
610
+ __privateAdd$2(this, _keyField);
611
+ __publicField$5(this, "_values", []);
612
+ __publicField$5(this, "_hashTable", {});
613
+ __privateSet$1(this, _keyField, keyField);
614
+ }
615
+ /**
616
+ * Return all indexed values
617
+ */
618
+ get values() {
619
+ return this._values;
620
+ }
621
+ /**
622
+ * Load the given list of values into the index, replacing any existing data.
623
+ * @param values List of values.
624
+ */
625
+ load(values) {
626
+ this._values = values ?? [];
627
+ this._hashTable = {};
628
+ for (const value of this.values) {
629
+ const key = value[__privateGet$1(this, _keyField)];
630
+ if (this._hashTable[key] !== void 0) throw new Error(`Duplicate key [${key}]`);
631
+ this._hashTable[key] = value;
632
+ }
633
+ }
634
+ /**
635
+ * Get a value from the index
636
+ * @param key Key string
637
+ */
638
+ get(key) {
639
+ if (!key) return void 0;
640
+ return this._hashTable[key];
641
+ }
642
+ }
643
+ _keyField = new WeakMap();
644
+
597
645
  var __typeError$1 = (msg) => {
598
646
  throw TypeError(msg);
599
647
  };
600
648
  var __accessCheck$1 = (obj, member, msg) => member.has(obj) || __typeError$1("Cannot " + msg);
601
- var __privateGet$1 = (obj, member, getter) => (__accessCheck$1(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
602
649
  var __privateAdd$1 = (obj, member, value) => member.has(obj) ? __typeError$1("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
603
- var __privateSet$1 = (obj, member, value, setter) => (__accessCheck$1(obj, member, "write to private field"), member.set(obj, value), value);
604
650
  var __privateMethod = (obj, member, method) => (__accessCheck$1(obj, member, "access private method"), method);
605
- var _badges, _badgeIndex$1, _BadgeIndex_instances, satisfiesQueryPredicate_fn, satisfiesFilterPredicate_fn, sort_fn;
606
- class BadgeIndex {
607
- constructor(badges) {
651
+ var _BadgeIndex_instances, satisfiesQueryPredicate_fn, satisfiesFilterPredicate_fn, sort_fn;
652
+ class BadgeIndex extends AbstractIndex {
653
+ constructor() {
654
+ super("key");
608
655
  __privateAdd$1(this, _BadgeIndex_instances);
609
- __privateAdd$1(this, _badges, []);
610
- __privateAdd$1(this, _badgeIndex$1, {});
611
- __privateSet$1(this, _badges, badges);
612
- for (const badge of badges) {
613
- if (__privateGet$1(this, _badgeIndex$1)[badge.key] !== void 0) throw new Error(`Duplicate badge key [${badge.key}]`);
614
- __privateGet$1(this, _badgeIndex$1)[badge.key] = badge;
615
- }
616
656
  }
617
- getBadge(key) {
618
- if (!key) return void 0;
619
- return __privateGet$1(this, _badgeIndex$1)[key];
620
- }
621
- searchBadges(options) {
622
- const filtered = options?.query || options?.filter ? __privateGet$1(this, _badges).filter((badge) => __privateMethod(this, _BadgeIndex_instances, satisfiesQueryPredicate_fn).call(this, badge, options?.query) && __privateMethod(this, _BadgeIndex_instances, satisfiesFilterPredicate_fn).call(this, badge, options?.filter)) : __privateGet$1(this, _badges);
657
+ search(options) {
658
+ const filtered = options?.query || options?.filter ? this._values.filter((badge) => __privateMethod(this, _BadgeIndex_instances, satisfiesQueryPredicate_fn).call(this, badge, options?.query) && __privateMethod(this, _BadgeIndex_instances, satisfiesFilterPredicate_fn).call(this, badge, options?.filter)) : this._values;
623
659
  const totalPages = options?.pageSize ? Math.ceil(filtered.length / options?.pageSize) : 1;
624
660
  const page = Math.max(1, Math.min(totalPages, options?.page ?? 1));
625
661
  const paged = options?.pageSize ? filtered.slice((page - 1) * options.pageSize, page * options?.pageSize) : filtered;
@@ -633,8 +669,6 @@ class BadgeIndex {
633
669
  };
634
670
  }
635
671
  }
636
- _badges = new WeakMap();
637
- _badgeIndex$1 = new WeakMap();
638
672
  _BadgeIndex_instances = new WeakSet();
639
673
  satisfiesQueryPredicate_fn = function(badge, query) {
640
674
  const queryString = query?.str?.toLowerCase() ?? "";
@@ -651,42 +685,47 @@ sort_fn = function(badges, sort) {
651
685
  return sort.dir === "desc" ? badges.reverse() : badges;
652
686
  };
653
687
 
654
- var __defProp$5 = Object.defineProperty;
655
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
656
- var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value);
657
- class BundleMetadata {
658
- constructor(bundle) {
688
+ var __defProp$4 = Object.defineProperty;
689
+ var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
690
+ var __publicField$4 = (obj, key, value) => __defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
691
+ class BundleHeader {
692
+ constructor(data) {
659
693
  /**
660
694
  * Name of the content bundle.
661
695
  */
662
- __publicField$5(this, "name");
696
+ __publicField$4(this, "name");
663
697
  /**
664
698
  * Description of the fork.
665
699
  */
666
- __publicField$5(this, "description");
700
+ __publicField$4(this, "description");
667
701
  /**
668
- * Repository where the db content package is maintained.
702
+ * Url for the repository where the bundle is maintained.
669
703
  */
670
- __publicField$5(this, "repository");
704
+ __publicField$4(this, "repositoryUrl");
705
+ /**
706
+ * Url for the location of the changelog.
707
+ */
708
+ __publicField$4(this, "changelogUrl");
671
709
  /**
672
710
  * List of external links. Wiki, forums, etc.
673
711
  */
674
- __publicField$5(this, "links");
712
+ __publicField$4(this, "links");
675
713
  /**
676
- * Change log for this data package.
714
+ * The current version of the data package.
677
715
  */
678
- __publicField$5(this, "changelog");
679
- this.name = bundle.name;
680
- this.description = bundle.description;
681
- this.repository = bundle.repository;
682
- this.links = bundle.links ?? [];
683
- this.changelog = bundle.changelog ?? [];
716
+ __publicField$4(this, "version");
717
+ this.name = data?.name;
718
+ this.description = data?.description;
719
+ this.repositoryUrl = data?.repositoryUrl;
720
+ this.changelogUrl = data?.changelogUrl;
721
+ this.links = data?.links ?? [];
722
+ this.version = data?.version;
684
723
  }
685
724
  }
686
725
 
687
- var __defProp$4 = Object.defineProperty;
688
- var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
689
- var __publicField$4 = (obj, key, value) => __defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
726
+ var __defProp$3 = Object.defineProperty;
727
+ var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
728
+ var __publicField$3 = (obj, key, value) => __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
690
729
  class Zone {
691
730
  constructor(data) {
692
731
  /**
@@ -694,24 +733,24 @@ class Zone {
694
733
  *
695
734
  * Keys must be unique and can only contain lowercase letters, numbers and hyphens (`-`).
696
735
  */
697
- __publicField$4(this, "key");
736
+ __publicField$3(this, "key");
698
737
  /**
699
738
  * The name of the zone as it appears in-game.
700
739
  */
701
- __publicField$4(this, "name");
740
+ __publicField$3(this, "name");
702
741
  /**
703
742
  * List of external links. Wiki, forums, etc.
704
743
  */
705
- __publicField$4(this, "links");
744
+ __publicField$3(this, "links");
706
745
  this.key = new Key(data.key).value;
707
746
  this.name = data.name;
708
747
  this.links = data.links ?? [];
709
748
  }
710
749
  }
711
750
 
712
- var __defProp$3 = Object.defineProperty;
713
- var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
714
- var __publicField$3 = (obj, key, value) => __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
751
+ var __defProp$2 = Object.defineProperty;
752
+ var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
753
+ var __publicField$2 = (obj, key, value) => __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
715
754
  class Contact {
716
755
  constructor(data) {
717
756
  /**
@@ -719,35 +758,35 @@ class Contact {
719
758
  *
720
759
  * Keys must be unique and can only contain lowercase letters, numbers and hyphens (`-`).
721
760
  */
722
- __publicField$3(this, "key");
761
+ __publicField$2(this, "key");
723
762
  /**
724
763
  * The name of this contact.
725
764
  */
726
- __publicField$3(this, "name");
765
+ __publicField$2(this, "name");
727
766
  /**
728
767
  * The contact's title.
729
768
  */
730
- __publicField$3(this, "title");
769
+ __publicField$2(this, "title");
731
770
  /**
732
771
  * The character moralities that this contact will interact with.
733
772
  */
734
- __publicField$3(this, "morality");
773
+ __publicField$2(this, "morality");
735
774
  /**
736
775
  * The location of this contact.
737
776
  */
738
- __publicField$3(this, "location");
777
+ __publicField$2(this, "location");
739
778
  /**
740
779
  * The level range this contact will offer missions for.
741
780
  */
742
- __publicField$3(this, "levelRange");
781
+ __publicField$2(this, "levelRange");
743
782
  /**
744
783
  * Freeform notes or tips about the contact.
745
784
  */
746
- __publicField$3(this, "notes");
785
+ __publicField$2(this, "notes");
747
786
  /**
748
787
  * List of external links. Wiki, forums, etc.
749
788
  */
750
- __publicField$3(this, "links");
789
+ __publicField$2(this, "links");
751
790
  this.key = new Key(data.key).value;
752
791
  this.name = data.name;
753
792
  this.title = data.title;
@@ -759,9 +798,9 @@ class Contact {
759
798
  }
760
799
  }
761
800
 
762
- var __defProp$2 = Object.defineProperty;
763
- var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
764
- var __publicField$2 = (obj, key, value) => __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
801
+ var __defProp$1 = Object.defineProperty;
802
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
803
+ var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
765
804
  class Mission {
766
805
  constructor(data) {
767
806
  /**
@@ -769,41 +808,41 @@ class Mission {
769
808
  *
770
809
  * Keys must be unique and can only contain lowercase letters, numbers and hyphens (`-`).
771
810
  */
772
- __publicField$2(this, "key");
811
+ __publicField$1(this, "key");
773
812
  /**
774
813
  * The name of the mission as it appears from the contact.
775
814
  *
776
815
  * The name may be different when viewed in Ouroboros as a Flashback.
777
816
  */
778
- __publicField$2(this, "name");
817
+ __publicField$1(this, "name");
779
818
  /**
780
819
  * The type of mission... Story arc, task force, trial, etc.
781
820
  */
782
- __publicField$2(this, "type");
821
+ __publicField$1(this, "type");
783
822
  /**
784
823
  * The character moralities that may accept the mission.
785
824
  */
786
- __publicField$2(this, "morality");
825
+ __publicField$1(this, "morality");
787
826
  /**
788
827
  * The keys of any contacts that provide this mission.
789
828
  */
790
- __publicField$2(this, "contactKeys");
829
+ __publicField$1(this, "contactKeys");
791
830
  /**
792
831
  * The level range this mission is available for.
793
832
  */
794
- __publicField$2(this, "levelRange");
833
+ __publicField$1(this, "levelRange");
795
834
  /**
796
835
  * Freeform notes or tips about the mission.
797
836
  */
798
- __publicField$2(this, "notes");
837
+ __publicField$1(this, "notes");
799
838
  /**
800
839
  * List of external links. Wiki, forums, etc.
801
840
  */
802
- __publicField$2(this, "links");
841
+ __publicField$1(this, "links");
803
842
  /**
804
843
  * If the mission is available in Ouroboros as a Flashback.
805
844
  */
806
- __publicField$2(this, "flashback");
845
+ __publicField$1(this, "flashback");
807
846
  this.key = new Key(data.key).value;
808
847
  this.name = data.name;
809
848
  this.type = data.type;
@@ -826,105 +865,115 @@ function createFlashback(data) {
826
865
  };
827
866
  }
828
867
 
829
- var __defProp$1 = Object.defineProperty;
830
868
  var __typeError = (msg) => {
831
869
  throw TypeError(msg);
832
870
  };
833
- var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
834
- var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
835
871
  var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
836
872
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
837
873
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
838
874
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
839
- var _archetypeIndex, _zoneIndex, _contactIndex, _missionIndex, _badgeIndex;
875
+ var _archetypeIndex, _zoneIndex, _contactIndex, _missionIndex, _badgeIndex, _header, _servers;
840
876
  class CohContentDatabase {
877
+ constructor() {
878
+ __privateAdd(this, _archetypeIndex, new AbstractIndex("key"));
879
+ __privateAdd(this, _zoneIndex, new AbstractIndex("key"));
880
+ __privateAdd(this, _contactIndex, new AbstractIndex("key"));
881
+ __privateAdd(this, _missionIndex, new AbstractIndex("key"));
882
+ __privateAdd(this, _badgeIndex, new BadgeIndex());
883
+ __privateAdd(this, _header);
884
+ __privateAdd(this, _servers);
885
+ }
841
886
  /**
842
- * Initialize the database with a content bundle.
843
- * @param bundle The data to load.
887
+ * Load the given content bundle, resetting the db if a bundle is already loaded.
888
+ * @param bundle The bundle to load.
844
889
  */
845
- constructor(bundle) {
846
- __privateAdd(this, _archetypeIndex, {});
847
- __privateAdd(this, _zoneIndex, {});
848
- __privateAdd(this, _contactIndex, {});
849
- __privateAdd(this, _missionIndex, {});
850
- __privateAdd(this, _badgeIndex);
851
- /**
852
- * Metadata about the content bundle.
853
- */
854
- __publicField$1(this, "metadata");
855
- /**
856
- * List of the game server names.
857
- *
858
- * Torchbearer, Excelsior, etc.
859
- */
860
- __publicField$1(this, "servers");
861
- /**
862
- * List of archetypes.
863
- */
864
- __publicField$1(this, "archetypes");
865
- /**
866
- * List of game zones.
867
- */
868
- __publicField$1(this, "zones");
869
- /**
870
- * List of contacts.
871
- */
872
- __publicField$1(this, "contacts");
873
- /**
874
- * List of missions.
875
- */
876
- __publicField$1(this, "missions");
877
- /**
878
- * List of badges.
879
- */
880
- __publicField$1(this, "badges");
881
- this.metadata = new BundleMetadata(bundle);
882
- this.servers = bundle.servers ?? [];
883
- this.archetypes = bundle.archetypes?.map((data) => {
884
- if (__privateGet(this, _archetypeIndex)[data.key] !== void 0) throw new Error(`Duplicate archetype key '${data.key}'`);
885
- const archetype = new Archetype(data);
886
- __privateGet(this, _archetypeIndex)[archetype.key] = archetype;
887
- return archetype;
888
- }) ?? [];
889
- this.zones = bundle.zones?.map((data) => {
890
- if (__privateGet(this, _zoneIndex)[data.key] !== void 0) throw new Error(`Duplicate zone key '${data.key}'`);
891
- const zone = new Zone(data);
892
- __privateGet(this, _zoneIndex)[zone.key] = zone;
893
- return zone;
894
- }) ?? [];
895
- this.contacts = bundle.contacts?.map((data) => {
896
- if (__privateGet(this, _contactIndex)[data.key] !== void 0) throw new Error(`Duplicate contact key '${data.key}'`);
897
- const contact = new Contact(data);
898
- __privateGet(this, _contactIndex)[contact.key] = contact;
899
- return contact;
900
- }) ?? [];
901
- this.missions = bundle.missions?.map((data) => {
902
- if (__privateGet(this, _missionIndex)[data.key] !== void 0) throw new Error(`Duplicate mission key '${data.key}'`);
903
- const mission = new Mission(data);
904
- __privateGet(this, _missionIndex)[mission.key] = mission;
905
- return mission;
906
- }) ?? [];
907
- this.badges = bundle.badges?.map((data) => new Badge(data)) ?? [];
908
- __privateSet(this, _badgeIndex, new BadgeIndex(this.badges));
890
+ load(bundle) {
891
+ __privateSet(this, _header, new BundleHeader(bundle.header));
892
+ __privateSet(this, _servers, bundle.servers ?? []);
893
+ __privateGet(this, _archetypeIndex).load(bundle.archetypes?.map((x) => new Archetype(x)));
894
+ __privateGet(this, _zoneIndex).load(bundle.zones?.map((x) => new Zone(x)));
895
+ __privateGet(this, _contactIndex).load(bundle.contacts?.map((x) => new Contact(x)));
896
+ __privateGet(this, _missionIndex).load(bundle.missions?.map((x) => new Mission(x)));
897
+ __privateGet(this, _badgeIndex).load(bundle.badges?.map((x) => new Badge(x)));
898
+ }
899
+ /**
900
+ * Header information about the content bundle.
901
+ */
902
+ get header() {
903
+ return __privateGet(this, _header);
904
+ }
905
+ /**
906
+ * List of the game server names.
907
+ *
908
+ * Torchbearer, Excelsior, etc.
909
+ */
910
+ get servers() {
911
+ return __privateGet(this, _servers) ?? [];
912
+ }
913
+ /**
914
+ * List of archetypes.
915
+ */
916
+ get archetypes() {
917
+ return __privateGet(this, _archetypeIndex).values;
909
918
  }
919
+ /**
920
+ * Get archetype by key.
921
+ * @param key The key.
922
+ */
910
923
  getArchetype(key) {
911
- if (!key) return void 0;
912
- return __privateGet(this, _archetypeIndex)[key];
924
+ return __privateGet(this, _archetypeIndex).get(key);
925
+ }
926
+ /**
927
+ * List of game zones.
928
+ */
929
+ get zones() {
930
+ return __privateGet(this, _zoneIndex).values;
913
931
  }
932
+ /**
933
+ * Get zone by key.
934
+ * @param key The key.
935
+ */
914
936
  getZone(key) {
915
- if (!key) return void 0;
916
- return __privateGet(this, _zoneIndex)[key];
937
+ return __privateGet(this, _zoneIndex).get(key);
917
938
  }
939
+ /**
940
+ * List of contacts.
941
+ */
942
+ get contacts() {
943
+ return __privateGet(this, _contactIndex).values;
944
+ }
945
+ /**
946
+ * Get contact by key.
947
+ * @param key The key.
948
+ */
918
949
  getContact(key) {
919
- if (!key) return void 0;
920
- return __privateGet(this, _contactIndex)[key];
950
+ return __privateGet(this, _contactIndex).get(key);
921
951
  }
952
+ /**
953
+ * List of missions.
954
+ */
955
+ get missions() {
956
+ return __privateGet(this, _missionIndex).values;
957
+ }
958
+ /**
959
+ * Get mission by key.
960
+ * @param key The key.
961
+ */
922
962
  getMission(key) {
923
- if (!key) return void 0;
924
- return __privateGet(this, _missionIndex)[key];
963
+ return __privateGet(this, _missionIndex).get(key);
964
+ }
965
+ /**
966
+ * List of badges.
967
+ */
968
+ get badges() {
969
+ return __privateGet(this, _badgeIndex).values;
925
970
  }
971
+ /**
972
+ * Get badge by key.
973
+ * @param key The key.
974
+ */
926
975
  getBadge(key) {
927
- return __privateGet(this, _badgeIndex).getBadge(key);
976
+ return __privateGet(this, _badgeIndex).get(key);
928
977
  }
929
978
  /**
930
979
  * Search, sort and filter the badge list.
@@ -933,7 +982,7 @@ class CohContentDatabase {
933
982
  * @param options {@link BadgeSearchOptions}
934
983
  */
935
984
  searchBadges(options) {
936
- return __privateGet(this, _badgeIndex).searchBadges(options);
985
+ return __privateGet(this, _badgeIndex).search(options);
937
986
  }
938
987
  }
939
988
  _archetypeIndex = new WeakMap();
@@ -941,6 +990,8 @@ _zoneIndex = new WeakMap();
941
990
  _contactIndex = new WeakMap();
942
991
  _missionIndex = new WeakMap();
943
992
  _badgeIndex = new WeakMap();
993
+ _header = new WeakMap();
994
+ _servers = new WeakMap();
944
995
 
945
996
  var __defProp = Object.defineProperty;
946
997
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -970,34 +1021,6 @@ class Location {
970
1021
  }
971
1022
  }
972
1023
 
973
- const CHANGELOG = [
974
- {
975
- version: "2.0.0",
976
- date: /* @__PURE__ */ new Date("2025-03-12"),
977
- description: `* Replaced redundant interfaces with their concrete equivalents.
978
- * Server groups are now referred to as 'forks'.
979
- * Replaced enums with union types and changed values to \`kebab-case\`.
980
- * \`IServerGroupData\` is now \`ContentBundle\` and each database instance is now designed to accept only a single bundle.
981
- * \`GameMap\` is now \`Zone\`.
982
- * Removed the \`serverGroup\` property from entities to simplify the object tree given that only a single context can exist per db now.
983
- * Added a simple indexing and search function for badge names, text and acquisition info.
984
- * Zone and badge references now follow a standard Markdown link format with a \`badge://\` or \`map://\` protocol.
985
- * Badge partials are now known as badge requirements.
986
- * Removed the \`VidiotMap\` API as it was never used or fleshed out properly.
987
- * Added formal support for Missions and Contacts in badge requirements.
988
- * Move exploration badge locations into badge requirement list.
989
- * Standardized pluralization of some field names (name, icon).
990
- * Combined \`settitle\` ids into a single tuple field.
991
- * Change from GNU to The Unlicense.
992
- * Removed all third-party dependencies.
993
- * Moved from webpack to rollup for packaging.
994
- * Add eslint for linting.
995
- * Add jest for unit tests.
996
- * Added GitHub Actions for CI.
997
- `
998
- }
999
- ];
1000
-
1001
1024
  exports.ALIGNMENT = ALIGNMENT;
1002
1025
  exports.AlignmentList = AlignmentList;
1003
1026
  exports.Alternates = Alternates;
@@ -1007,8 +1030,7 @@ exports.BADGE_TYPE = BADGE_TYPE;
1007
1030
  exports.Badge = Badge;
1008
1031
  exports.BadgeIndex = BadgeIndex;
1009
1032
  exports.BadgeRequirement = BadgeRequirement;
1010
- exports.BundleMetadata = BundleMetadata;
1011
- exports.CHANGELOG = CHANGELOG;
1033
+ exports.BundleHeader = BundleHeader;
1012
1034
  exports.CohContentDatabase = CohContentDatabase;
1013
1035
  exports.Contact = Contact;
1014
1036
  exports.ENHANCEMENT_CATEGORY = ENHANCEMENT_CATEGORY;