@mann-conomy/tf-war-paints
Version:
A static Node.js wrapper for Team Fortress 2's many War Paints.
64 lines • 2.39 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const attribute_1 = __importDefault(require("./attribute"));
const utils_1 = require("../lib/utils");
const enums_1 = require("../resources/enums");
const warpaints_json_1 = __importDefault(require("../resources/static/warpaints.json"));
const static_1 = require("../lib/static");
class WarPaint extends attribute_1.default {
constructor(options = {}) {
super(options);
this.language = options.language || enums_1.LanguageTranslation.English;
if ((0, utils_1.isUndefinedOrEmpty)(warpaints_json_1.default, this.language)) {
throw new RangeError("No War Paints were found matching the provided language code");
}
}
eval(strict = false) {
return (0, static_1.evaluate)(warpaints_json_1.default, this.json(), strict);
}
static eval(warpaint, strict = false) {
return (0, static_1.evaluate)(warpaints_json_1.default, warpaint, strict);
}
find(strict = false) {
return (0, static_1.find)(warpaints_json_1.default, this.json(), strict);
}
static find(warpaint, strict = false) {
return (0, static_1.find)(warpaints_json_1.default, warpaint, strict);
}
translate(language, strict = false) {
return (0, static_1.translate)(warpaints_json_1.default, this.json(), language, strict);
}
static translate(warpaint, language, strict = false) {
return (0, static_1.translate)(warpaints_json_1.default, warpaint, language, strict);
}
all() {
return (0, static_1.getAllAttributesOrThrow)(warpaints_json_1.default, this.language);
}
static all(language) {
return (0, static_1.getAllAttributesOrThrow)(warpaints_json_1.default, language);
}
json() {
return {
id: this.id,
name: this.name,
language: this.language,
};
}
getLanguage() {
return this.language;
}
stringify() {
return JSON.stringify(this.json());
}
toString() {
return [this.id, this.name, this.language].join(";");
}
copy() {
return new WarPaint(this.json());
}
}
exports.default = WarPaint;
//# sourceMappingURL=warpaint.js.map