UNPKG

@websolute/faker.ts

Version:

Easy to Use, Powered by Decorators, Faker.js TypeScript Wrapper

33 lines 1.43 kB
"use strict"; 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