coh-content-db 1.4.1 → 2.0.0-rc.10

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.
Files changed (101) hide show
  1. package/.editorconfig +24 -0
  2. package/.github/workflows/build.yml +38 -0
  3. package/.github/workflows/pull-request.yml +32 -0
  4. package/.github/workflows/release.yml +52 -0
  5. package/CHANGELOG.md +42 -0
  6. package/LICENSE +24 -674
  7. package/README.md +101 -16
  8. package/dist/coh-content-db.d.ts +988 -22
  9. package/dist/coh-content-db.js +1044 -2
  10. package/dist/coh-content-db.js.map +1 -0
  11. package/dist/coh-content-db.mjs +1009 -0
  12. package/dist/coh-content-db.mjs.map +1 -0
  13. package/eslint.config.mjs +31 -0
  14. package/jest.config.mjs +7 -0
  15. package/package.json +31 -23
  16. package/rollup.config.mjs +27 -0
  17. package/src/main/api/alignment.ts +19 -0
  18. package/src/main/api/alternate-data.ts +22 -0
  19. package/src/main/api/archetype-data.ts +5 -0
  20. package/src/main/api/badge-data.ts +81 -0
  21. package/src/main/api/badge-requirement-data.ts +64 -0
  22. package/src/main/api/badge-requirement-type.ts +32 -0
  23. package/src/main/api/badge-type.ts +19 -0
  24. package/src/main/api/bundle-data.ts +47 -0
  25. package/src/main/api/bundle-header-data.ts +37 -0
  26. package/src/main/api/contact-data.ts +48 -0
  27. package/src/main/api/enhancement-category.ts +30 -0
  28. package/src/main/api/link.ts +4 -0
  29. package/src/main/api/location-data.ts +28 -0
  30. package/src/main/api/markdown-string.ts +4 -0
  31. package/src/main/api/mission-data.ts +83 -0
  32. package/src/main/api/mission-type.ts +2 -0
  33. package/src/main/api/morality.ts +31 -0
  34. package/src/main/api/sex.ts +10 -0
  35. package/src/main/api/zone-data.ts +20 -0
  36. package/src/main/db/abstract-index.ts +37 -0
  37. package/src/main/db/alignment-list.ts +54 -0
  38. package/src/main/db/alternates.ts +67 -0
  39. package/src/main/db/archetype.ts +14 -0
  40. package/src/main/db/badge-index.ts +57 -0
  41. package/src/main/db/badge-requirement.ts +81 -0
  42. package/src/main/db/badge-search-options.ts +51 -0
  43. package/src/main/db/badge.ts +147 -0
  44. package/src/main/db/bundle-header.ts +44 -0
  45. package/src/main/db/coh-content-database.ts +138 -0
  46. package/src/main/db/contact.ts +62 -0
  47. package/src/main/db/key.ts +18 -0
  48. package/src/main/db/location.ts +30 -0
  49. package/src/main/db/mission.ts +107 -0
  50. package/src/main/db/morality-list.ts +99 -0
  51. package/src/main/db/paged.ts +7 -0
  52. package/src/main/db/zone.ts +28 -0
  53. package/src/main/index.ts +41 -0
  54. package/src/main/util.ts +118 -0
  55. package/src/test/api/alignment.test.ts +65 -0
  56. package/src/test/api/archetype-data.fixture.ts +8 -0
  57. package/src/test/api/badge-data.fixture.ts +8 -0
  58. package/src/test/api/badge-data.test.ts +15 -0
  59. package/src/test/api/badge-requirement-data.fixture.ts +7 -0
  60. package/src/test/api/badge-requirement-type.test.ts +31 -0
  61. package/src/test/api/badge-type.test.ts +35 -0
  62. package/src/test/api/bundle-data.fixture.ts +6 -0
  63. package/src/test/api/bundle-header-data.fixture.ts +6 -0
  64. package/src/test/api/contact-data.fixture.ts +7 -0
  65. package/src/test/api/enhancement-category.test.ts +35 -0
  66. package/src/test/api/mission-data.fixture.ts +12 -0
  67. package/src/test/api/sex.test.ts +63 -0
  68. package/src/test/api/zone-data.fixture.ts +8 -0
  69. package/src/test/db/abstract-index.test.ts +55 -0
  70. package/src/test/db/alignment-list.test.ts +200 -0
  71. package/src/test/db/alternates.test.ts +188 -0
  72. package/src/test/db/archetype.test.ts +38 -0
  73. package/src/test/db/badge-index.test.ts +519 -0
  74. package/src/test/db/badge-requirement.test.ts +145 -0
  75. package/src/test/db/badge.test.ts +337 -0
  76. package/src/test/db/bundle-header.test.ts +76 -0
  77. package/src/test/db/coh-content-database.test.ts +282 -0
  78. package/src/test/db/contact.test.ts +97 -0
  79. package/src/test/db/key.test.ts +22 -0
  80. package/src/test/db/location.test.ts +51 -0
  81. package/src/test/db/mission.test.ts +171 -0
  82. package/src/test/db/morality-list.test.ts +457 -0
  83. package/src/test/db/zone.test.ts +36 -0
  84. package/src/test/integration.test.ts +16 -0
  85. package/src/test/util.test.ts +165 -0
  86. package/tsconfig.json +117 -0
  87. package/dist/_changelog.d.ts +0 -3
  88. package/dist/coh-content-db.nomin.js +0 -635
  89. package/dist/content-refence-utils.d.ts +0 -4
  90. package/dist/index.d.ts +0 -8
  91. package/dist/internal/_common.d.ts +0 -4
  92. package/dist/internal/archetype.d.ts +0 -10
  93. package/dist/internal/badge.d.ts +0 -44
  94. package/dist/internal/game-map.d.ts +0 -33
  95. package/dist/internal/server-group.d.ts +0 -24
  96. package/dist/types/archetype.d.ts +0 -9
  97. package/dist/types/badge.d.ts +0 -192
  98. package/dist/types/enhancement.d.ts +0 -28
  99. package/dist/types/game-map.d.ts +0 -47
  100. package/dist/types/link.d.ts +0 -4
  101. package/dist/types/server-group.d.ts +0 -75
@@ -1,635 +0,0 @@
1
- (function webpackUniversalModuleDefinition(root, factory) {
2
- if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory(require("lodash"));
4
- else if(typeof define === 'function' && define.amd)
5
- define("coh-content-db", ["lodash"], factory);
6
- else if(typeof exports === 'object')
7
- exports["coh-content-db"] = factory(require("lodash"));
8
- else
9
- root["coh-content-db"] = factory(root["_"]);
10
- })(window, function(__WEBPACK_EXTERNAL_MODULE__1__) {
11
- return /******/ (function(modules) { // webpackBootstrap
12
- /******/ // The module cache
13
- /******/ var installedModules = {};
14
- /******/
15
- /******/ // The require function
16
- /******/ function __webpack_require__(moduleId) {
17
- /******/
18
- /******/ // Check if module is in cache
19
- /******/ if(installedModules[moduleId]) {
20
- /******/ return installedModules[moduleId].exports;
21
- /******/ }
22
- /******/ // Create a new module (and put it into the cache)
23
- /******/ var module = installedModules[moduleId] = {
24
- /******/ i: moduleId,
25
- /******/ l: false,
26
- /******/ exports: {}
27
- /******/ };
28
- /******/
29
- /******/ // Execute the module function
30
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31
- /******/
32
- /******/ // Flag the module as loaded
33
- /******/ module.l = true;
34
- /******/
35
- /******/ // Return the exports of the module
36
- /******/ return module.exports;
37
- /******/ }
38
- /******/
39
- /******/
40
- /******/ // expose the modules object (__webpack_modules__)
41
- /******/ __webpack_require__.m = modules;
42
- /******/
43
- /******/ // expose the module cache
44
- /******/ __webpack_require__.c = installedModules;
45
- /******/
46
- /******/ // define getter function for harmony exports
47
- /******/ __webpack_require__.d = function(exports, name, getter) {
48
- /******/ if(!__webpack_require__.o(exports, name)) {
49
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
50
- /******/ }
51
- /******/ };
52
- /******/
53
- /******/ // define __esModule on exports
54
- /******/ __webpack_require__.r = function(exports) {
55
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
56
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
57
- /******/ }
58
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
59
- /******/ };
60
- /******/
61
- /******/ // create a fake namespace object
62
- /******/ // mode & 1: value is a module id, require it
63
- /******/ // mode & 2: merge all properties of value into the ns
64
- /******/ // mode & 4: return value when already ns object
65
- /******/ // mode & 8|1: behave like require
66
- /******/ __webpack_require__.t = function(value, mode) {
67
- /******/ if(mode & 1) value = __webpack_require__(value);
68
- /******/ if(mode & 8) return value;
69
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
70
- /******/ var ns = Object.create(null);
71
- /******/ __webpack_require__.r(ns);
72
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
73
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
74
- /******/ return ns;
75
- /******/ };
76
- /******/
77
- /******/ // getDefaultExport function for compatibility with non-harmony modules
78
- /******/ __webpack_require__.n = function(module) {
79
- /******/ var getter = module && module.__esModule ?
80
- /******/ function getDefault() { return module['default']; } :
81
- /******/ function getModuleExports() { return module; };
82
- /******/ __webpack_require__.d(getter, 'a', getter);
83
- /******/ return getter;
84
- /******/ };
85
- /******/
86
- /******/ // Object.prototype.hasOwnProperty.call
87
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
88
- /******/
89
- /******/ // __webpack_public_path__
90
- /******/ __webpack_require__.p = "";
91
- /******/
92
- /******/
93
- /******/ // Load entry module and return exports
94
- /******/ return __webpack_require__(__webpack_require__.s = 2);
95
- /******/ })
96
- /************************************************************************/
97
- /******/ ([
98
- /* 0 */
99
- /***/ (function(module, exports, __webpack_require__) {
100
-
101
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports) {
102
- "use strict";
103
- Object.defineProperty(exports, "__esModule", { value: true });
104
- var KEY_FORMAT = /[^a-z0-9\-]/;
105
- function validateKey(key) {
106
- if (KEY_FORMAT.test(key))
107
- throw new Error("Bad key: [" + key + "]; Keys can only contain lowercase characters, numbers and dashes.");
108
- }
109
- exports.validateKey = validateKey;
110
- function getOrDefine(key, cache, provider) {
111
- var entry = cache[key];
112
- if (entry === undefined) {
113
- entry = cache[key] = provider(key);
114
- }
115
- return entry;
116
- }
117
- exports.getOrDefine = getOrDefine;
118
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
119
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
120
-
121
-
122
- /***/ }),
123
- /* 1 */
124
- /***/ (function(module, exports) {
125
-
126
- module.exports = __WEBPACK_EXTERNAL_MODULE__1__;
127
-
128
- /***/ }),
129
- /* 2 */
130
- /***/ (function(module, exports, __webpack_require__) {
131
-
132
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(3), __webpack_require__(4), __webpack_require__(5), __webpack_require__(6), __webpack_require__(11), __webpack_require__(12)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, badge_1, enhancement_1, server_group_1, coh_content_db_1, _changelog_1, content_refence_utils_1) {
133
- "use strict";
134
- function __export(m) {
135
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
136
- }
137
- Object.defineProperty(exports, "__esModule", { value: true });
138
- __export(badge_1);
139
- __export(enhancement_1);
140
- __export(server_group_1);
141
- exports.CohContentDb = coh_content_db_1.CohContentDb;
142
- exports.Changelog = _changelog_1.Changelog;
143
- __export(content_refence_utils_1);
144
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
145
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
146
-
147
-
148
- /***/ }),
149
- /* 3 */
150
- /***/ (function(module, exports, __webpack_require__) {
151
-
152
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports) {
153
- "use strict";
154
- Object.defineProperty(exports, "__esModule", { value: true });
155
- var BadgeType;
156
- (function (BadgeType) {
157
- BadgeType["EXPLORATION"] = "EXPLORATION";
158
- BadgeType["HISTORY"] = "HISTORY";
159
- BadgeType["ACCOMPLISHMENT"] = "ACCOMPLISHMENT";
160
- BadgeType["ACHIEVEMENT"] = "ACHIEVEMENT";
161
- BadgeType["ACCOLADE"] = "ACCOLADE";
162
- BadgeType["GLADIATOR"] = "GLADIATOR";
163
- BadgeType["VETERAN"] = "VETERAN";
164
- BadgeType["PVP"] = "PVP";
165
- BadgeType["INVENTION"] = "INVENTION";
166
- BadgeType["DEFEAT"] = "DEFEAT";
167
- BadgeType["EVENT"] = "EVENT";
168
- BadgeType["OUROBOROS"] = "OUROBOROS";
169
- BadgeType["CONSIGNMENT"] = "CONSIGNMENT";
170
- BadgeType["DAY_JOB"] = "DAY_JOB";
171
- BadgeType["AE"] = "AE";
172
- })(BadgeType = exports.BadgeType || (exports.BadgeType = {}));
173
- var BadgePartialType;
174
- (function (BadgePartialType) {
175
- BadgePartialType["PLAQUE"] = "PLAQUE";
176
- BadgePartialType["BADGE"] = "BADGE";
177
- BadgePartialType["INVENTION"] = "INVENTION";
178
- /**
179
- * Some invention badges require you to build x of two different invention levels, 'plus one of either level'.
180
- */
181
- BadgePartialType["INVENTION_PLUS_ONE"] = "INVENTION_PLUS_ONE";
182
- })(BadgePartialType = exports.BadgePartialType || (exports.BadgePartialType = {}));
183
- /**
184
- * For badges that have alternate values based on the alignment (H/V/P) or sex (M/F) of the character.
185
- */
186
- var Alternate;
187
- (function (Alternate) {
188
- Alternate["M"] = "M";
189
- Alternate["F"] = "F";
190
- Alternate["H"] = "H";
191
- Alternate["V"] = "V";
192
- Alternate["P"] = "P";
193
- Alternate["MH"] = "MH";
194
- Alternate["MV"] = "MV";
195
- Alternate["MP"] = "MP";
196
- Alternate["FH"] = "FH";
197
- Alternate["FV"] = "FV";
198
- Alternate["FP"] = "FP";
199
- })(Alternate = exports.Alternate || (exports.Alternate = {}));
200
- exports.ALIGNMENT_HERO = { h: true, v: false, p: false };
201
- exports.ALIGNMENT_VILLAIN = { h: false, v: true, p: false };
202
- exports.ALIGNMENT_PRIMAL = { h: true, v: true, p: false };
203
- exports.ALIGNMENT_PRAETORIAN = { h: false, v: false, p: true };
204
- exports.ALIGNMENT_ANY = { h: true, v: true, p: true };
205
- var PlaqueType;
206
- (function (PlaqueType) {
207
- PlaqueType["WALL_PLAQUE"] = "WALL_PLAQUE";
208
- PlaqueType["MONUMENT"] = "MONUMENT";
209
- })(PlaqueType = exports.PlaqueType || (exports.PlaqueType = {}));
210
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
211
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
212
-
213
-
214
- /***/ }),
215
- /* 4 */
216
- /***/ (function(module, exports, __webpack_require__) {
217
-
218
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports) {
219
- "use strict";
220
- Object.defineProperty(exports, "__esModule", { value: true });
221
- var EnhancementCategory;
222
- (function (EnhancementCategory) {
223
- EnhancementCategory["DEFENSE_DEBUFF"] = "DEFENSE_DEBUFF";
224
- EnhancementCategory["TO_HIT_DEBUFF"] = "TO_HIT_DEBUFF";
225
- EnhancementCategory["TAUNT"] = "TAUNT";
226
- EnhancementCategory["CONFUSE"] = "CONFUSE";
227
- EnhancementCategory["HEALING"] = "HEALING";
228
- EnhancementCategory["DEFENSE_BUFF"] = "DEFENSE_BUFF";
229
- EnhancementCategory["RESIST_DAMAGE"] = "RESIST_DAMAGE";
230
- EnhancementCategory["INTANGIBILITY"] = "INTANGIBILITY";
231
- EnhancementCategory["SLEEP"] = "SLEEP";
232
- EnhancementCategory["SLOW"] = "SLOW";
233
- EnhancementCategory["HOLD"] = "HOLD";
234
- EnhancementCategory["STUN"] = "STUN";
235
- EnhancementCategory["IMMOBILIZE"] = "IMMOBILIZE";
236
- EnhancementCategory["FEAR"] = "FEAR";
237
- EnhancementCategory["ENDURANCE_MODIFICATION"] = "ENDURANCE_MODIFICATION";
238
- EnhancementCategory["ENDURANCE_REDUCTION"] = "ENDURANCE_REDUCTION";
239
- EnhancementCategory["RECHARGE_REDUCTION"] = "RECHARGE_REDUCTION";
240
- EnhancementCategory["INTERRUPT_DURATION"] = "INTERRUPT_DURATION";
241
- EnhancementCategory["ACCURACY"] = "ACCURACY";
242
- EnhancementCategory["TO_HIT_BUFF"] = "TO_HIT_BUFF";
243
- EnhancementCategory["DAMAGE"] = "DAMAGE";
244
- EnhancementCategory["KNOCKBACK"] = "KNOCKBACK";
245
- EnhancementCategory["RUN_SPEED"] = "RUN_SPEED";
246
- EnhancementCategory["JUMP"] = "JUMP";
247
- EnhancementCategory["FLY_SPEED"] = "FLY_SPEED";
248
- EnhancementCategory["RANGE"] = "RANGE";
249
- })(EnhancementCategory = exports.EnhancementCategory || (exports.EnhancementCategory = {}));
250
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
251
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
252
-
253
-
254
- /***/ }),
255
- /* 5 */
256
- /***/ (function(module, exports, __webpack_require__) {
257
-
258
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports) {
259
- "use strict";
260
- Object.defineProperty(exports, "__esModule", { value: true });
261
- var ServerGroupStatus;
262
- (function (ServerGroupStatus) {
263
- /**
264
- * Package is still being developed, and may be missing some data or some data may be inaccurate.
265
- */
266
- ServerGroupStatus["WORK_IN_PROGRESS"] = "WORK_IN_PROGRESS";
267
- /**
268
- * This server group has been sunset, and is not longer being maintained/developed.
269
- */
270
- ServerGroupStatus["SUNSET"] = "SUNSET";
271
- })(ServerGroupStatus = exports.ServerGroupStatus || (exports.ServerGroupStatus = {}));
272
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
273
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
274
-
275
-
276
- /***/ }),
277
- /* 6 */
278
- /***/ (function(module, exports, __webpack_require__) {
279
-
280
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(1), __webpack_require__(0), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, _, _common_1, server_group_1) {
281
- "use strict";
282
- Object.defineProperty(exports, "__esModule", { value: true });
283
- var CohContentDb = /** @class */ (function () {
284
- function CohContentDb() {
285
- this.serverGroups = {};
286
- }
287
- /**
288
- * @inheritDoc
289
- * @override
290
- */
291
- CohContentDb.prototype.load = function (data) {
292
- var serverGroup = _common_1.getOrDefine(data.key, this.serverGroups, function (key) { return new server_group_1.ServerGroup(key); });
293
- serverGroup.load(data);
294
- };
295
- /**
296
- * @inheritDoc
297
- * @override
298
- */
299
- CohContentDb.prototype.getServerGroups = function () {
300
- return _.values(this.serverGroups);
301
- };
302
- /**
303
- * @inheritDoc
304
- * @override
305
- */
306
- CohContentDb.prototype.getServerGroup = function (serverGroupKey) {
307
- return this.serverGroups[serverGroupKey];
308
- };
309
- return CohContentDb;
310
- }());
311
- exports.CohContentDb = CohContentDb;
312
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
313
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
314
-
315
-
316
- /***/ }),
317
- /* 7 */
318
- /***/ (function(module, exports, __webpack_require__) {
319
-
320
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(1), __webpack_require__(8), __webpack_require__(9), __webpack_require__(10), __webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, _, archetype_1, game_map_1, badge_1, _common_1) {
321
- "use strict";
322
- Object.defineProperty(exports, "__esModule", { value: true });
323
- var ServerGroup = /** @class */ (function () {
324
- function ServerGroup(key) {
325
- this.archetypes = [];
326
- this.maps = [];
327
- this.badges = [];
328
- this.changelog = {};
329
- this.archetypeCache = {};
330
- this.mapCache = {};
331
- this.badgeCache = {};
332
- _common_1.validateKey(key);
333
- this.key = key;
334
- }
335
- ServerGroup.prototype.load = function (data) {
336
- var _this = this;
337
- if (data.name != undefined)
338
- this.name = data.name;
339
- if (data.description != undefined)
340
- this.description = data.description;
341
- if (data.status != undefined)
342
- this.status = data.status;
343
- if (data.repository != undefined)
344
- this.repository = data.repository;
345
- if (data.servers != undefined)
346
- this.servers = data.servers;
347
- if (data.archetypes != undefined) {
348
- _.each(data.archetypes, function (data) {
349
- return _common_1.getOrDefine(data.key, _this.archetypeCache, function (key) { return new archetype_1.Archetype(_this, key); })
350
- .load(data);
351
- });
352
- this.archetypes = _.values(this.archetypeCache);
353
- }
354
- if (data.maps != undefined) {
355
- _.each(data.maps, function (data) {
356
- return _common_1.getOrDefine(data.key, _this.mapCache, function (key) { return new game_map_1.GameMap(_this, key); })
357
- .load(data);
358
- });
359
- this.maps = _.values(this.mapCache);
360
- }
361
- if (data.badges != undefined) {
362
- _.each(data.badges, function (data) {
363
- return _common_1.getOrDefine(data.key, _this.badgeCache, function (key) { return new badge_1.Badge(_this, key); })
364
- .load(data);
365
- });
366
- this.badges = _.values(this.badgeCache);
367
- }
368
- if (data.changelog) {
369
- this.changelog = data.changelog;
370
- }
371
- };
372
- ServerGroup.prototype.getArchetype = function (key) {
373
- return this.archetypeCache[key];
374
- };
375
- ServerGroup.prototype.getMap = function (key) {
376
- return this.mapCache[key];
377
- };
378
- ServerGroup.prototype.getBadge = function (key) {
379
- return this.badgeCache[key];
380
- };
381
- return ServerGroup;
382
- }());
383
- exports.ServerGroup = ServerGroup;
384
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
385
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
386
-
387
-
388
- /***/ }),
389
- /* 8 */
390
- /***/ (function(module, exports, __webpack_require__) {
391
-
392
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, _common_1) {
393
- "use strict";
394
- Object.defineProperty(exports, "__esModule", { value: true });
395
- var Archetype = /** @class */ (function () {
396
- function Archetype(serverGroup, key) {
397
- _common_1.validateKey(key);
398
- this.serverGroup = serverGroup;
399
- this.key = key;
400
- }
401
- Archetype.prototype.load = function (data) {
402
- if (data.name != undefined)
403
- this.name = data.name;
404
- if (data.description != undefined)
405
- this.description = data.description;
406
- };
407
- return Archetype;
408
- }());
409
- exports.Archetype = Archetype;
410
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
411
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
412
-
413
-
414
- /***/ }),
415
- /* 9 */
416
- /***/ (function(module, exports, __webpack_require__) {
417
-
418
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(0), __webpack_require__(1)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, _common_1, lodash_1) {
419
- "use strict";
420
- Object.defineProperty(exports, "__esModule", { value: true });
421
- var GameMap = /** @class */ (function () {
422
- function GameMap(serverGroup, key) {
423
- this.vidiotMaps = [];
424
- _common_1.validateKey(key);
425
- this.serverGroup = serverGroup;
426
- this.key = key;
427
- }
428
- GameMap.prototype.load = function (data) {
429
- var _this = this;
430
- if (data.name != undefined)
431
- this.name = data.name;
432
- if (data.links != undefined)
433
- this.links = (this.links || []).concat(data.links);
434
- if (data.vidiotMaps) {
435
- lodash_1.each(data.vidiotMaps, function (vidiotMapData) { return _this.vidiotMaps.push(new VidiotMap(_this.serverGroup, _this).load(vidiotMapData)); });
436
- }
437
- };
438
- return GameMap;
439
- }());
440
- exports.GameMap = GameMap;
441
- var VidiotMap = /** @class */ (function () {
442
- function VidiotMap(serverGroup, map) {
443
- this.pointsOfInterest = [];
444
- this.serverGroup = serverGroup;
445
- this.map = map;
446
- }
447
- VidiotMap.prototype.load = function (data) {
448
- var _this = this;
449
- if (data.href != undefined)
450
- this.href = data.href;
451
- if (data.name != undefined)
452
- this.name = data.name;
453
- if (data.pointsOfInterest) {
454
- lodash_1.each(data.pointsOfInterest, function (poiData) { return _this.pointsOfInterest.push(new VidiotMapPoi(_this.serverGroup, _this.map, _this).load(poiData)); });
455
- }
456
- return this;
457
- };
458
- return VidiotMap;
459
- }());
460
- exports.VidiotMap = VidiotMap;
461
- var VidiotMapPoi = /** @class */ (function () {
462
- function VidiotMapPoi(serverGroup, map, vidiotMap) {
463
- this.serverGroup = serverGroup;
464
- this.map = map;
465
- this.vidiotMap = vidiotMap;
466
- }
467
- VidiotMapPoi.prototype.load = function (data) {
468
- if (data.x != undefined)
469
- this.x = data.x;
470
- if (data.y != undefined)
471
- this.y = data.y;
472
- if (data.notes != undefined)
473
- this.notes = data.notes;
474
- if (data.mapKey != undefined)
475
- this.mapKey = data.mapKey;
476
- if (data.badgeKey != undefined)
477
- this.badgeKey = data.badgeKey;
478
- if (data.badgePartialKey != undefined)
479
- this.badgePartialKey = data.badgePartialKey;
480
- return this;
481
- };
482
- return VidiotMapPoi;
483
- }());
484
- exports.VidiotMapPoi = VidiotMapPoi;
485
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
486
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
487
-
488
-
489
- /***/ }),
490
- /* 10 */
491
- /***/ (function(module, exports, __webpack_require__) {
492
-
493
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(0), __webpack_require__(1)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, _common_1, _) {
494
- "use strict";
495
- Object.defineProperty(exports, "__esModule", { value: true });
496
- var Badge = /** @class */ (function () {
497
- function Badge(serverGroup, key) {
498
- this.partialCache = {};
499
- _common_1.validateKey(key);
500
- this.serverGroup = serverGroup;
501
- this.key = key;
502
- }
503
- Badge.prototype.load = function (data) {
504
- var _this = this;
505
- if (data.type != undefined)
506
- this.type = data.type;
507
- if (data.names != undefined)
508
- this.names = (this.names || []).concat(data.names);
509
- if (data.alignment != undefined)
510
- this.alignment = data.alignment;
511
- if (data.badgeText != undefined)
512
- this.badgeText = (this.badgeText || []).concat(data.badgeText);
513
- if (data.acquisition != undefined)
514
- this.acquisition = data.acquisition;
515
- if (data.icons != undefined)
516
- this.icons = (this.icons || []).concat(data.icons);
517
- if (data.notes != undefined)
518
- this.notes = data.notes;
519
- if (data.links != undefined)
520
- this.links = (this.links || []).concat(data.links);
521
- if (data.mapKey != undefined)
522
- this.mapKey = data.mapKey;
523
- if (data.location != undefined)
524
- this.location = data.location;
525
- if (data.effect != undefined)
526
- this.effect = data.effect;
527
- if (data.vidiotMapKey != undefined)
528
- this.vidiotMapKey = data.vidiotMapKey;
529
- if (data.setTitleId != undefined)
530
- this.setTitleId = data.setTitleId;
531
- if (data.setTitleIdPraetorian != undefined)
532
- this.setTitleIdPraetorian = data.setTitleIdPraetorian;
533
- if (data.ignoreInTotals != undefined)
534
- this.ignoreInTotals = data.ignoreInTotals;
535
- if (data.partials != undefined) {
536
- _.each(data.partials, function (data) {
537
- return _common_1.getOrDefine(data.key, _this.partialCache, function (key) { return new BadgePartial(_this.serverGroup, _this, key); })
538
- .load(data);
539
- });
540
- this.partials = _.values(this.partialCache);
541
- }
542
- };
543
- Badge.prototype.getPartial = function (key) {
544
- return this.partialCache[key];
545
- };
546
- return Badge;
547
- }());
548
- exports.Badge = Badge;
549
- var BadgePartial = /** @class */ (function () {
550
- function BadgePartial(serverGroup, parent, key) {
551
- _common_1.validateKey(key);
552
- this.key = key;
553
- this.serverGroup = serverGroup;
554
- this.parent = parent;
555
- }
556
- BadgePartial.prototype.load = function (data) {
557
- if (data.type != undefined)
558
- this.type = data.type;
559
- if (data.mapKey != undefined)
560
- this.mapKey = data.mapKey;
561
- if (data.location != undefined)
562
- this.location = data.location;
563
- if (data.plaqueType != undefined)
564
- this.plaqueType = data.plaqueType;
565
- if (data.inscription != undefined)
566
- this.inscription = data.inscription;
567
- if (data.vidiotMapKey != undefined)
568
- this.vidiotMapKey = data.vidiotMapKey;
569
- if (data.badgeKey != undefined)
570
- this.badgeKey = data.badgeKey;
571
- if (data.inventionLevel != undefined)
572
- this.inventionLevel = data.inventionLevel;
573
- if (data.inventionTypes != undefined)
574
- this.inventionTypes = data.inventionTypes;
575
- if (data.count != undefined)
576
- this.count = data.count;
577
- if (data.notes != undefined)
578
- this.notes = data.notes;
579
- };
580
- return BadgePartial;
581
- }());
582
- exports.BadgePartial = BadgePartial;
583
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
584
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
585
-
586
-
587
- /***/ }),
588
- /* 11 */
589
- /***/ (function(module, exports, __webpack_require__) {
590
-
591
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports) {
592
- "use strict";
593
- Object.defineProperty(exports, "__esModule", { value: true });
594
- exports.Changelog = {
595
- "1.0.0": "* Initial release.",
596
- "1.0.1": "* Type encapsulation for ServerData and Archetype.",
597
- "1.1.0": "* Badge icons are now urls instead of keys.\n" +
598
- "* Badge icons have moved from `badge.imageKeys` to `badge.icons`.\n" +
599
- "* Changelog is now just a markdown block instead of a string array.\n",
600
- "1.1.1": "* `IGameMap.links` is now optional.",
601
- "1.1.2": "* https://github.com/n15g/coh-content-db/issues/3 - Added `setTitleId` property for badges. Used to store the `settitle` slash command number of the badge.",
602
- "1.1.3": "* Added some content reference utility functions.",
603
- "1.2.0": "* https://github.com/n15g/coh-content-db/issues/4 - Added a field `ignoreInTotals` to `Badge`, allowing badges to be ignored in badge total calculations, for badges like" +
604
- " [Flames of Prometheus] and [Bug Hunter].",
605
- "1.3.1": "* https://github.com/n15g/coh-content-db/issues/5 - Added vidiot map data to maps.",
606
- "1.3.2": "* Added badge partial support for vidiot map POIs.",
607
- "1.4.0": "* https://github.com/n15g/coh-content-db/issues/7 - Settitle ids for Praetorian badges.",
608
- "1.4.1": "* https://github.com/n15g/coh-content-db/pull/9 - Added Primal alignment value.",
609
- };
610
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
611
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
612
-
613
-
614
- /***/ }),
615
- /* 12 */
616
- /***/ (function(module, exports, __webpack_require__) {
617
-
618
- var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports) {
619
- "use strict";
620
- Object.defineProperty(exports, "__esModule", { value: true });
621
- function badgeReference(badge) {
622
- return "[badge:" + badge.key + "]";
623
- }
624
- exports.badgeReference = badgeReference;
625
- function mapReference(map) {
626
- return "[map:" + map.key + "]";
627
- }
628
- exports.mapReference = mapReference;
629
- }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
630
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
631
-
632
-
633
- /***/ })
634
- /******/ ]);
635
- });
@@ -1,4 +0,0 @@
1
- import { IBadgeData } from "./types/badge";
2
- import { IGameMapData } from "./types/game-map";
3
- export declare function badgeReference(badge: IBadgeData): string;
4
- export declare function mapReference(map: IGameMapData): string;
package/dist/index.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export * from "./types/badge";
2
- export * from "./types/enhancement";
3
- export * from "./types/game-map";
4
- export * from "./types/link";
5
- export * from "./types/server-group";
6
- export { CohContentDb } from "./coh-content-db";
7
- export { Changelog } from "./_changelog";
8
- export * from "./content-refence-utils";
@@ -1,4 +0,0 @@
1
- export declare function validateKey(key: string): void;
2
- export declare function getOrDefine<T>(key: string, cache: {
3
- [id: string]: T;
4
- }, provider: (key: string) => T): T;
@@ -1,10 +0,0 @@
1
- import { IArchetype, IArchetypeData } from "../types/archetype";
2
- import { ServerGroup } from "./server-group";
3
- export declare class Archetype implements IArchetype {
4
- readonly serverGroup: ServerGroup;
5
- readonly key: string;
6
- name?: string;
7
- description?: string;
8
- constructor(serverGroup: ServerGroup, key: string);
9
- load(data: IArchetypeData): void;
10
- }