@zthun/romulator-client 1.5.0 → 1.6.0

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/dist/index.cjs CHANGED
@@ -40,32 +40,6 @@ class ZRomulatorConfigGamesBuilder {
40
40
  }
41
41
  }
42
42
 
43
- class ZRomulatorConfigMediaMetadata {
44
- static all() {
45
- return [
46
- ZRomulatorConfigMediaMetadata.mediaFolder()
47
- ];
48
- }
49
- static mediaFolder() {
50
- return new helpfulQuery.ZMetadataBuilder().id("media-folder").path("mediaFolder").name("Media Folder").fallback("${HOME}/Games/.media").editable().file().build();
51
- }
52
- }
53
-
54
- class ZRomulatorConfigMediaBuilder {
55
- _media = {};
56
- mediaFolder(folder) {
57
- this._media.mediaFolder = folder;
58
- return this;
59
- }
60
- copy(other) {
61
- this._media = structuredClone(other);
62
- return this;
63
- }
64
- build() {
65
- return structuredClone(this._media);
66
- }
67
- }
68
-
69
43
  /**
70
44
  * Represents a list of known config ids
71
45
  */ var ZRomulatorConfigId = /*#__PURE__*/ function(ZRomulatorConfigId) {
@@ -193,92 +167,279 @@ class ZRomulatorConfigBuilder {
193
167
  }
194
168
  }
195
169
 
196
- /**
197
- * Describes what a specific piece of media represents.
198
- */ var ZRomulatorMediaType = /*#__PURE__*/ function(ZRomulatorMediaType) {
170
+ var ZRomulatorGameMediaType = /*#__PURE__*/ function(ZRomulatorGameMediaType) {
199
171
  /**
200
172
  * A 3d representation of the box art.
201
- */ ZRomulatorMediaType["Game3dBox"] = "3dboxes";
173
+ */ ZRomulatorGameMediaType["Box3d"] = "3dboxes";
202
174
  /**
203
175
  * Back of the game box.
204
- */ ZRomulatorMediaType["GameBackCover"] = "backcovers";
176
+ */ ZRomulatorGameMediaType["BackCover"] = "backcovers";
205
177
  /**
206
178
  * Front of the game box.
207
- */ ZRomulatorMediaType["GameCover"] = "covers";
179
+ */ ZRomulatorGameMediaType["Cover"] = "covers";
208
180
  /**
209
181
  * Fan art.
210
- */ ZRomulatorMediaType["GameFanArt"] = "fanart";
182
+ */ ZRomulatorGameMediaType["FanArt"] = "fanart";
211
183
  /**
212
184
  * Game manual.
213
- */ ZRomulatorMediaType["GameManual"] = "manuals";
185
+ */ ZRomulatorGameMediaType["Manual"] = "manuals";
214
186
  /**
215
187
  * A marquee of a game.
216
- */ ZRomulatorMediaType["GameMarquee"] = "marquees";
188
+ */ ZRomulatorGameMediaType["Marquee"] = "marquees";
217
189
  /**
218
190
  * The cartridge or disc label.
219
- */ ZRomulatorMediaType["GamePhysicalMedia"] = "physicalmedia";
191
+ */ ZRomulatorGameMediaType["PhysicalMedia"] = "physicalmedia";
220
192
  /**
221
193
  * An in game screenshot showcasing gameplay.
222
- */ ZRomulatorMediaType["GameScreenshot"] = "screenshots";
194
+ */ ZRomulatorGameMediaType["Screenshot"] = "screenshots";
223
195
  /**
224
196
  * An in game screenshot of the title screen.
225
- */ ZRomulatorMediaType["GameTitle"] = "titlescreens";
197
+ */ ZRomulatorGameMediaType["Title"] = "titlescreens";
226
198
  /**
227
199
  * A video showcasing the game.
228
- */ ZRomulatorMediaType["GameVideo"] = "videos";
200
+ */ ZRomulatorGameMediaType["Video"] = "videos";
201
+ return ZRomulatorGameMediaType;
202
+ }({});
203
+ /**
204
+ * Media type for a system.
205
+ */ var ZRomulatorSystemMediaType = /*#__PURE__*/ function(ZRomulatorSystemMediaType) {
229
206
  /**
230
207
  * An image of a system's controller.
231
- */ ZRomulatorMediaType["SystemController"] = "controller.png";
208
+ */ ZRomulatorSystemMediaType["Controller"] = "controller.png";
232
209
  /**
233
210
  * A icon for the system.
234
211
  *
235
212
  * These are normally 32x32.
236
- */ ZRomulatorMediaType["SystemIcon"] = "icon.png";
213
+ */ ZRomulatorSystemMediaType["Icon"] = "icon.png";
237
214
  /**
238
215
  * An illustration of the system.
239
- */ ZRomulatorMediaType["SystemIllustration"] = "illustration.png";
216
+ */ ZRomulatorSystemMediaType["Illustration"] = "illustration.png";
240
217
  /**
241
218
  * A picture of the system.
242
219
  *
243
220
  * These are real life looking photos of what
244
221
  * a system looks like.
245
- */ ZRomulatorMediaType["SystemPicture"] = "picture.png";
222
+ */ ZRomulatorSystemMediaType["Picture"] = "picture.png";
223
+ /**
224
+ * A video trailer for the system.
225
+ */ ZRomulatorSystemMediaType["Video"] = "video.mp4";
246
226
  /**
247
227
  * A wheel for a system.
248
228
  *
249
229
  * This is basically the logo.
250
- */ ZRomulatorMediaType["SystemWheel"] = "wheel.png";
251
- return ZRomulatorMediaType;
230
+ */ ZRomulatorSystemMediaType["Wheel"] = "wheel.png";
231
+ return ZRomulatorSystemMediaType;
252
232
  }({});
253
- const ZRomulatorMediaTypeMap = lodashEs.keyBy(Object.values(ZRomulatorMediaType));
233
+ const ZRomulatorSystemMediaTypeMap = lodashEs.keyBy(Object.values(ZRomulatorSystemMediaType));
234
+ const ZRomulatorGameMediaTypeMap = lodashEs.keyBy(Object.values(ZRomulatorGameMediaType));
235
+ function isSystemMediaType(candidate) {
236
+ return typeof candidate === "string" && Object.prototype.hasOwnProperty.call(ZRomulatorSystemMediaTypeMap, candidate);
237
+ }
238
+ function isGameMediaType(candidate) {
239
+ return typeof candidate === "string" && Object.prototype.hasOwnProperty.call(ZRomulatorGameMediaTypeMap, candidate);
240
+ }
254
241
  function isMediaType(candidate) {
255
- return typeof candidate === "string" && Object.prototype.hasOwnProperty.call(ZRomulatorMediaTypeMap, candidate);
242
+ return isSystemMediaType(candidate) || isGameMediaType(candidate);
256
243
  }
257
244
 
258
245
  /**
259
246
  * Id slugs for supported systems.
260
247
  */ var ZRomulatorSystemId = /*#__PURE__*/ function(ZRomulatorSystemId) {
261
- /**
262
- * Nintendo Entertainment System
263
- */ ZRomulatorSystemId["Nintendo"] = "nes";
264
- /**
265
- * Super Nintendo Entertainment System.
266
- */ ZRomulatorSystemId["SuperNintendo"] = "snes";
267
- /**
268
- * Nintendo 64
269
- */ ZRomulatorSystemId["Nintendo64"] = "n64";
270
- /**
271
- * Nintendo GameCube
272
- */ ZRomulatorSystemId["GameCube"] = "gc";
273
- /**
274
- * Nintendo Wii
275
- */ ZRomulatorSystemId["Wii"] = "wii";
276
- /**
277
- * Nintendo Wii U
278
- */ ZRomulatorSystemId["WiiU"] = "wiiu";
279
- /**
280
- * Nintendo Switch
281
- */ ZRomulatorSystemId["Switch"] = "switch";
248
+ ZRomulatorSystemId["ThreeDo"] = "3do";
249
+ ZRomulatorSystemId["Adam"] = "adam";
250
+ ZRomulatorSystemId["AGS"] = "ags";
251
+ ZRomulatorSystemId["Amiga"] = "amiga";
252
+ ZRomulatorSystemId["Amiga1200"] = "amiga1200";
253
+ ZRomulatorSystemId["Amiga600"] = "amiga600";
254
+ ZRomulatorSystemId["AmigaCd32"] = "amigacd32";
255
+ ZRomulatorSystemId["AmstradCpc"] = "amstradcpc";
256
+ ZRomulatorSystemId["Android"] = "android";
257
+ ZRomulatorSystemId["AndroidApps"] = "androidapps";
258
+ ZRomulatorSystemId["AndroidGames"] = "androidgames";
259
+ ZRomulatorSystemId["Apple2"] = "apple2";
260
+ ZRomulatorSystemId["Apple2Gs"] = "apple2gs";
261
+ ZRomulatorSystemId["Arcade"] = "arcade";
262
+ ZRomulatorSystemId["Arcadia"] = "arcadia";
263
+ ZRomulatorSystemId["Archimedes"] = "archimedes";
264
+ ZRomulatorSystemId["Arduboy"] = "arduboy";
265
+ ZRomulatorSystemId["Astrocde"] = "astrocde";
266
+ ZRomulatorSystemId["Atari2600"] = "atari2600";
267
+ ZRomulatorSystemId["Atari5200"] = "atari5200";
268
+ ZRomulatorSystemId["Atari7800"] = "atari7800";
269
+ ZRomulatorSystemId["Atari800"] = "atari800";
270
+ ZRomulatorSystemId["AtariJaguar"] = "atarijaguar";
271
+ ZRomulatorSystemId["AtariJaguarCd"] = "atarijaguarcd";
272
+ ZRomulatorSystemId["AtariLynx"] = "atarilynx";
273
+ ZRomulatorSystemId["AtariSt"] = "atarist";
274
+ ZRomulatorSystemId["AtariXe"] = "atarixe";
275
+ ZRomulatorSystemId["Atomiswave"] = "atomiswave";
276
+ ZRomulatorSystemId["BbcMicro"] = "bbcmicro";
277
+ ZRomulatorSystemId["C64"] = "c64";
278
+ ZRomulatorSystemId["CdiMono1"] = "cdimono1";
279
+ ZRomulatorSystemId["Cdtv"] = "cdtv";
280
+ ZRomulatorSystemId["ChaiLove"] = "chailove";
281
+ ZRomulatorSystemId["ChannelF"] = "channelf";
282
+ ZRomulatorSystemId["Coco"] = "coco";
283
+ ZRomulatorSystemId["Colecovision"] = "colecovision";
284
+ ZRomulatorSystemId["ConsoleArcade"] = "consolearcade";
285
+ ZRomulatorSystemId["Cps"] = "cps";
286
+ ZRomulatorSystemId["Cps1"] = "cps1";
287
+ ZRomulatorSystemId["Cps2"] = "cps2";
288
+ ZRomulatorSystemId["Cps3"] = "cps3";
289
+ ZRomulatorSystemId["CrVision"] = "crvision";
290
+ ZRomulatorSystemId["Daphne"] = "daphne";
291
+ ZRomulatorSystemId["Desktop"] = "desktop";
292
+ ZRomulatorSystemId["Doom"] = "doom";
293
+ ZRomulatorSystemId["Dos"] = "dos";
294
+ ZRomulatorSystemId["Dragon32"] = "dragon32";
295
+ ZRomulatorSystemId["Dreamcast"] = "dreamcast";
296
+ ZRomulatorSystemId["EasyRpg"] = "easyrpg";
297
+ ZRomulatorSystemId["Electron"] = "electron";
298
+ ZRomulatorSystemId["Emulators"] = "emulators";
299
+ ZRomulatorSystemId["Epic"] = "epic";
300
+ ZRomulatorSystemId["Famicom"] = "famicom";
301
+ ZRomulatorSystemId["FBA"] = "fba";
302
+ ZRomulatorSystemId["FBNeo"] = "fbneo";
303
+ ZRomulatorSystemId["FDS"] = "fds";
304
+ ZRomulatorSystemId["Flash"] = "flash";
305
+ ZRomulatorSystemId["FM7"] = "fm7";
306
+ ZRomulatorSystemId["FMTowns"] = "fmtowns";
307
+ ZRomulatorSystemId["FPinball"] = "fpinball";
308
+ ZRomulatorSystemId["Gamate"] = "gamate";
309
+ ZRomulatorSystemId["GameAndWatch"] = "gameandwatch";
310
+ ZRomulatorSystemId["GameCom"] = "gamecom";
311
+ ZRomulatorSystemId["GameGear"] = "gamegear";
312
+ ZRomulatorSystemId["GB"] = "gb";
313
+ ZRomulatorSystemId["GBA"] = "gba";
314
+ ZRomulatorSystemId["GBC"] = "gbc";
315
+ ZRomulatorSystemId["GameCube"] = "gc";
316
+ ZRomulatorSystemId["Genesis"] = "genesis";
317
+ ZRomulatorSystemId["GMaster"] = "gmaster";
318
+ ZRomulatorSystemId["GX4000"] = "gx4000";
319
+ ZRomulatorSystemId["Intellivision"] = "intellivision";
320
+ ZRomulatorSystemId["J2ME"] = "j2me";
321
+ ZRomulatorSystemId["Kodi"] = "kodi";
322
+ ZRomulatorSystemId["Laserdisc"] = "laserdisc";
323
+ ZRomulatorSystemId["LcdGames"] = "lcdgames";
324
+ ZRomulatorSystemId["LowResNx"] = "lowresnx";
325
+ ZRomulatorSystemId["Lutris"] = "lutris";
326
+ ZRomulatorSystemId["Lutro"] = "lutro";
327
+ ZRomulatorSystemId["Macintosh"] = "macintosh";
328
+ ZRomulatorSystemId["Mame"] = "mame";
329
+ ZRomulatorSystemId["MameAdvMame"] = "mame-advmame";
330
+ ZRomulatorSystemId["Mark3"] = "mark3";
331
+ ZRomulatorSystemId["MasterSystem"] = "mastersystem";
332
+ ZRomulatorSystemId["MegaCd"] = "megacd";
333
+ ZRomulatorSystemId["MegaCdJp"] = "megacdjp";
334
+ ZRomulatorSystemId["MegaDrive"] = "megadrive";
335
+ ZRomulatorSystemId["MegaDriveJp"] = "megadrivejp";
336
+ ZRomulatorSystemId["MegaDuck"] = "megaduck";
337
+ ZRomulatorSystemId["MESS"] = "mess";
338
+ ZRomulatorSystemId["Model2"] = "model2";
339
+ ZRomulatorSystemId["Model3"] = "model3";
340
+ ZRomulatorSystemId["Moto"] = "moto";
341
+ ZRomulatorSystemId["MSX"] = "msx";
342
+ ZRomulatorSystemId["MSX1"] = "msx1";
343
+ ZRomulatorSystemId["MSX2"] = "msx2";
344
+ ZRomulatorSystemId["MSXTurbor"] = "msxturbor";
345
+ ZRomulatorSystemId["Mugen"] = "mugen";
346
+ ZRomulatorSystemId["Multivision"] = "multivision";
347
+ ZRomulatorSystemId["N3DS"] = "n3ds";
348
+ ZRomulatorSystemId["Nintendo64"] = "n64";
349
+ ZRomulatorSystemId["N64DD"] = "n64dd";
350
+ ZRomulatorSystemId["Naomi"] = "naomi";
351
+ ZRomulatorSystemId["Naomi2"] = "naomi2";
352
+ ZRomulatorSystemId["NaomiGd"] = "naomigd";
353
+ ZRomulatorSystemId["NDS"] = "nds";
354
+ ZRomulatorSystemId["NeoGeo"] = "neogeo";
355
+ ZRomulatorSystemId["NeoGeoCd"] = "neogeocd";
356
+ ZRomulatorSystemId["NeoGeoCdJp"] = "neogeocdjp";
357
+ ZRomulatorSystemId["Nintendo"] = "nes";
358
+ ZRomulatorSystemId["NGage"] = "ngage";
359
+ ZRomulatorSystemId["NeoGeoPocket"] = "ngp";
360
+ ZRomulatorSystemId["NeoGeoPocketColor"] = "ngpc";
361
+ ZRomulatorSystemId["Odyssey2"] = "odyssey2";
362
+ ZRomulatorSystemId["OpenBor"] = "openbor";
363
+ ZRomulatorSystemId["Oric"] = "oric";
364
+ ZRomulatorSystemId["Palm"] = "palm";
365
+ ZRomulatorSystemId["PC"] = "pc";
366
+ ZRomulatorSystemId["PC88"] = "pc88";
367
+ ZRomulatorSystemId["PC98"] = "pc98";
368
+ ZRomulatorSystemId["PcArcade"] = "pcarcade";
369
+ ZRomulatorSystemId["PcEngine"] = "pcengine";
370
+ ZRomulatorSystemId["PcEngineCd"] = "pcenginecd";
371
+ ZRomulatorSystemId["PCFx"] = "pcfx";
372
+ ZRomulatorSystemId["Pico8"] = "pico8";
373
+ ZRomulatorSystemId["Plus4"] = "plus4";
374
+ ZRomulatorSystemId["PokeMini"] = "pokemini";
375
+ ZRomulatorSystemId["Ports"] = "ports";
376
+ ZRomulatorSystemId["PS2"] = "ps2";
377
+ ZRomulatorSystemId["PS3"] = "ps3";
378
+ ZRomulatorSystemId["PS4"] = "ps4";
379
+ ZRomulatorSystemId["PSP"] = "psp";
380
+ ZRomulatorSystemId["PSVita"] = "psvita";
381
+ ZRomulatorSystemId["PSX"] = "psx";
382
+ ZRomulatorSystemId["PV1000"] = "pv1000";
383
+ ZRomulatorSystemId["Quake"] = "quake";
384
+ ZRomulatorSystemId["SamCoupe"] = "samcoupe";
385
+ ZRomulatorSystemId["Satellaview"] = "satellaview";
386
+ ZRomulatorSystemId["Saturn"] = "saturn";
387
+ ZRomulatorSystemId["SaturnJp"] = "saturnjp";
388
+ ZRomulatorSystemId["ScummVM"] = "scummvm";
389
+ ZRomulatorSystemId["SCV"] = "scv";
390
+ ZRomulatorSystemId["Sega32X"] = "sega32x";
391
+ ZRomulatorSystemId["Sega32XJp"] = "sega32xjp";
392
+ ZRomulatorSystemId["Sega32XNa"] = "sega32xna";
393
+ ZRomulatorSystemId["SegaCd"] = "segacd";
394
+ ZRomulatorSystemId["SFC"] = "sfc";
395
+ ZRomulatorSystemId["Sg1000"] = "sg-1000";
396
+ ZRomulatorSystemId["SGB"] = "sgb";
397
+ ZRomulatorSystemId["SuperNintendo"] = "snes";
398
+ ZRomulatorSystemId["SnesNa"] = "snesna";
399
+ ZRomulatorSystemId["Solarus"] = "solarus";
400
+ ZRomulatorSystemId["SpectraVideo"] = "spectravideo";
401
+ ZRomulatorSystemId["Steam"] = "steam";
402
+ ZRomulatorSystemId["STV"] = "stv";
403
+ ZRomulatorSystemId["Sufami"] = "sufami";
404
+ ZRomulatorSystemId["SuperGrafx"] = "supergrafx";
405
+ ZRomulatorSystemId["SuperVision"] = "supervision";
406
+ ZRomulatorSystemId["SupraCan"] = "supracan";
407
+ ZRomulatorSystemId["Switch"] = "switch";
408
+ ZRomulatorSystemId["Symbian"] = "symbian";
409
+ ZRomulatorSystemId["TanoDragon"] = "tanodragon";
410
+ ZRomulatorSystemId["TgCd"] = "tg-cd";
411
+ ZRomulatorSystemId["TG16"] = "tg16";
412
+ ZRomulatorSystemId["TI99"] = "ti99";
413
+ ZRomulatorSystemId["TIC80"] = "tic80";
414
+ ZRomulatorSystemId["TO8"] = "to8";
415
+ ZRomulatorSystemId["Triforce"] = "triforce";
416
+ ZRomulatorSystemId["TRS80"] = "trs-80";
417
+ ZRomulatorSystemId["TypeX"] = "type-x";
418
+ ZRomulatorSystemId["Uzebox"] = "uzebox";
419
+ ZRomulatorSystemId["Vectrex"] = "vectrex";
420
+ ZRomulatorSystemId["Vic20"] = "vic20";
421
+ ZRomulatorSystemId["VideoPac"] = "videopac";
422
+ ZRomulatorSystemId["Vircon32"] = "vircon32";
423
+ ZRomulatorSystemId["VirtualBoy"] = "virtualboy";
424
+ ZRomulatorSystemId["VPinball"] = "vpinball";
425
+ ZRomulatorSystemId["VSmile"] = "vsmile";
426
+ ZRomulatorSystemId["Wasm4"] = "wasm4";
427
+ ZRomulatorSystemId["Wii"] = "wii";
428
+ ZRomulatorSystemId["WiiU"] = "wiiu";
429
+ ZRomulatorSystemId["Windows"] = "windows";
430
+ ZRomulatorSystemId["Windows3X"] = "windows3x";
431
+ ZRomulatorSystemId["Windows9X"] = "windows9x";
432
+ ZRomulatorSystemId["WonderSwan"] = "wonderswan";
433
+ ZRomulatorSystemId["WonderSwanColor"] = "wonderswancolor";
434
+ ZRomulatorSystemId["X1"] = "x1";
435
+ ZRomulatorSystemId["X68000"] = "x68000";
436
+ ZRomulatorSystemId["Xbox"] = "xbox";
437
+ ZRomulatorSystemId["Xbox360"] = "xbox360";
438
+ ZRomulatorSystemId["XboxOne"] = "xboxone";
439
+ ZRomulatorSystemId["ZMachine"] = "zmachine";
440
+ ZRomulatorSystemId["Zx81"] = "zx81";
441
+ ZRomulatorSystemId["ZxNext"] = "zxnext";
442
+ ZRomulatorSystemId["ZxSpectrum"] = "zxspectrum";
282
443
  return ZRomulatorSystemId;
283
444
  }({});
284
445
  const ZRomulatorSystemIdMap = lodashEs.keyBy(Object.values(ZRomulatorSystemId));
@@ -334,12 +495,12 @@ const ZRomulatorSystemIdMap = lodashEs.keyBy(Object.values(ZRomulatorSystemId));
334
495
  builder = builder.filename(fileName);
335
496
  const ext = node_path.extname(fileName);
336
497
  const title = node_path.basename(fileName, ext);
337
- if (isMediaType(fileName) && isSystemId(parent)) {
498
+ if (isSystemMediaType(fileName) && isSystemId(parent)) {
338
499
  // This is media for system hardware
339
500
  const id = `${parent}-${lodashEs.kebabCase(title)}`;
340
501
  return builder.id(id).system(parent).type(fileName).game(undefined);
341
502
  }
342
- if (fileName && isMediaType(parent) && isSystemId(grandparent)) {
503
+ if (fileName && isGameMediaType(parent) && isSystemId(grandparent)) {
343
504
  // This is media for a game that is supported. The id for a game
344
505
  // is the system id followed by the kebab case of the title, followed
345
506
  // by the media type.
@@ -359,17 +520,32 @@ const ZRomulatorSystemIdMap = lodashEs.keyBy(Object.values(ZRomulatorSystemId));
359
520
  * Describes a type of system.
360
521
  */ var ZRomulatorSystemType = /*#__PURE__*/ function(ZRomulatorSystemType) {
361
522
  /**
362
- * A console system.
363
- */ ZRomulatorSystemType["Console"] = "console";
364
- /**
365
- * A handheld system
366
- */ ZRomulatorSystemType["Handheld"] = "handheld";
523
+ * An accessory that attaches to another system.
524
+ */ ZRomulatorSystemType["Accessory"] = "accessory";
367
525
  /**
368
526
  * A cabinet system
369
527
  */ ZRomulatorSystemType["Arcade"] = "arcade";
370
528
  /**
371
529
  * Known computer systems
372
530
  */ ZRomulatorSystemType["Computer"] = "computer";
531
+ /**
532
+ * A console system.
533
+ */ ZRomulatorSystemType["Console"] = "console";
534
+ /**
535
+ * Pinball
536
+ */ ZRomulatorSystemType["Flipper"] = "flipper";
537
+ /**
538
+ * A handheld system
539
+ */ ZRomulatorSystemType["Handheld"] = "console-portable";
540
+ /**
541
+ * Script Creation Utility.
542
+ */ ZRomulatorSystemType["ScummVm"] = "scummvm";
543
+ /**
544
+ * Phone based system
545
+ */ ZRomulatorSystemType["Smartphone"] = "smartphone";
546
+ /**
547
+ * Virtual machine based system.
548
+ */ ZRomulatorSystemType["VirtualMachine"] = "virtual-machine";
373
549
  return ZRomulatorSystemType;
374
550
  }({});
375
551
 
@@ -437,32 +613,6 @@ const ZRomulatorSystemIdMap = lodashEs.keyBy(Object.values(ZRomulatorSystemId));
437
613
  * This instance.
438
614
  */ computer = this.type.bind(this, ZRomulatorSystemType.Computer);
439
615
  /**
440
- * Sets the aliases of the system.
441
- *
442
- * @param aliases -
443
- * The aliases of the system.
444
- * @returns
445
- * This instance.
446
- */ aliases(aliases) {
447
- this._system.aliases = aliases;
448
- return this;
449
- }
450
- /**
451
- * Adds an alias to the system.
452
- *
453
- * If an alias already exists, then it will
454
- * not be added again.
455
- *
456
- * @param alias -
457
- * The alias to add to the system.
458
- * @returns
459
- * This instance.
460
- */ alias(alias) {
461
- const aliases = helpfulFn.firstDefined([], this._system.aliases).slice();
462
- aliases.push(alias);
463
- return this.aliases(lodashEs.uniq(aliases));
464
- }
465
- /**
466
616
  * Sets the generational index of the system.
467
617
  *
468
618
  * @param generation -
@@ -474,29 +624,19 @@ const ZRomulatorSystemIdMap = lodashEs.keyBy(Object.values(ZRomulatorSystemId));
474
624
  return this;
475
625
  }
476
626
  /**
477
- * Sets the manufacturers of the system.
478
- *
479
- * @param manufacturers -
480
- * The manufacturers of the system.
481
- * @returns
482
- * This instance.
483
- */ manufacturers(manufacturers) {
484
- this._system.manufacturers = manufacturers;
485
- return this;
486
- }
487
- /**
488
- * Adds a manufacturer for the system.
627
+ * Assigns system data to this system.
489
628
  *
490
- * If a manufacturer already exists, then it will not be added again.
629
+ * @param system -
630
+ * The partial system data to assign.
491
631
  *
492
- * @param manufacturer -
493
- * The manufacturer of the system.
494
632
  * @returns
495
- * This instance.
496
- */ manufacturer(manufacturer) {
497
- const manufacturers = helpfulFn.firstDefined([], this._system.manufacturers).slice();
498
- manufacturers.push(manufacturer);
499
- return this.manufacturers(lodashEs.uniq(manufacturers));
633
+ * This object.
634
+ */ assign(system) {
635
+ this._system = {
636
+ ...this._system,
637
+ ...system
638
+ };
639
+ return this;
500
640
  }
501
641
  /**
502
642
  * Builds the system instance.
@@ -513,14 +653,15 @@ exports.ZRomulatorConfigBuilder = ZRomulatorConfigBuilder;
513
653
  exports.ZRomulatorConfigGamesBuilder = ZRomulatorConfigGamesBuilder;
514
654
  exports.ZRomulatorConfigGamesMetadata = ZRomulatorConfigGamesMetadata;
515
655
  exports.ZRomulatorConfigId = ZRomulatorConfigId;
516
- exports.ZRomulatorConfigMediaBuilder = ZRomulatorConfigMediaBuilder;
517
- exports.ZRomulatorConfigMediaMetadata = ZRomulatorConfigMediaMetadata;
518
656
  exports.ZRomulatorGameBuilder = ZRomulatorGameBuilder;
657
+ exports.ZRomulatorGameMediaType = ZRomulatorGameMediaType;
519
658
  exports.ZRomulatorMediaBuilder = ZRomulatorMediaBuilder;
520
- exports.ZRomulatorMediaType = ZRomulatorMediaType;
521
659
  exports.ZRomulatorSystemBuilder = ZRomulatorSystemBuilder;
522
660
  exports.ZRomulatorSystemId = ZRomulatorSystemId;
661
+ exports.ZRomulatorSystemMediaType = ZRomulatorSystemMediaType;
523
662
  exports.ZRomulatorSystemType = ZRomulatorSystemType;
663
+ exports.isGameMediaType = isGameMediaType;
524
664
  exports.isMediaType = isMediaType;
525
665
  exports.isSystemId = isSystemId;
666
+ exports.isSystemMediaType = isSystemMediaType;
526
667
  //# sourceMappingURL=index.cjs.map