idea-toolbox
Version:
IDEA's utility functions
32 lines (31 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ServiceLanguages = exports.Languages = void 0;
const resource_model_1 = require("./resource.model");
const utils_1 = require("./utils");
/**
* Structure representing language preferences in a context.
*/
class Languages extends resource_model_1.Resource {
load(x) {
super.load(x);
this.default = this.clean(x.default, String, ServiceLanguages.English);
this.available = this.cleanArray(x.available, String, [ServiceLanguages.English]);
}
validate(languagesOfSpecificService) {
const e = super.validate();
if (!this.default || !this.available.some(x => x === this.default))
e.push('default');
if (!this.available.every(l => (0, utils_1.loopStringEnumValues)(languagesOfSpecificService).some(x => x === l)))
e.push('available');
return e;
}
}
exports.Languages = Languages;
/**
* The languages available in a specific service. It must be redefined in every service.
*/
var ServiceLanguages;
(function (ServiceLanguages) {
ServiceLanguages["English"] = "en";
})(ServiceLanguages || (exports.ServiceLanguages = ServiceLanguages = {}));