igir
Version:
🕹 A zero-setup ROM collection manager that sorts, filters, extracts or archives, patches, and reports on collections of any size on any OS.
58 lines (57 loc) • 1.89 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Expose } from 'class-transformer';
/**
* A region release of a {@link Game}.
*/
export default class Release {
name;
region;
language;
constructor(name, region, language) {
this.name = name;
this.region = region;
this.language = language;
}
/**
* Create an XML object, to be used by the owning {@link Game}.
*/
toXmlDatObj() {
return {
$: {
name: this.name,
region: this.region,
language: this.language,
},
};
}
// Property getters
getName() {
return this.name;
}
getRegion() {
return this.region.toUpperCase();
}
getLanguage() {
return this.language;
}
}
__decorate([
Expose({ name: 'name' }),
__metadata("design:type", String)
], Release.prototype, "name", void 0);
__decorate([
Expose({ name: 'region' }),
__metadata("design:type", String)
], Release.prototype, "region", void 0);
__decorate([
Expose({ name: 'language' }),
__metadata("design:type", String)
], Release.prototype, "language", void 0);