@websolute/faker.ts
Version:
Easy to Use, Powered by Decorators, Faker.js TypeScript Wrapper
33 lines • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EnumValueHandler = void 0;
var EnumValueHandler = /** @class */ (function () {
function EnumValueHandler(faker) {
this.faker = faker;
}
EnumValueHandler.getEnumValues = function (enumObj) {
var keysList = Object.getOwnPropertyNames(enumObj).filter(function (key) { return enumObj.propertyIsEnumerable(key) && key !== String(parseFloat(key)); });
var length = keysList.length;
var valuesList = new Array(length);
for (var index = 0; index < length; ++index) {
var key = keysList[index];
valuesList[index] = enumObj[key];
}
return valuesList;
};
EnumValueHandler.isEnumValue = function (propertyDto) {
var value = propertyDto.value;
return Object.prototype.hasOwnProperty.call(value, 'enum');
};
EnumValueHandler.prototype.shouldHandle = function (propertyDto) {
return propertyDto.type === 'object' && EnumValueHandler.isEnumValue(propertyDto);
};
EnumValueHandler.prototype.produceValue = function (propertyDto) {
var value = propertyDto.value;
var enumObj = value.enum;
return this.faker.random.arrayElement(EnumValueHandler.getEnumValues(enumObj));
};
return EnumValueHandler;
}());
exports.EnumValueHandler = EnumValueHandler;
//# sourceMappingURL=enum-value-handler.js.map